104學習精靈

資料結構

資料結構
關注
邀請朋友
邀請朋友

Line

Facebook

複製連結

取消
關於教室
關注人數 4 人
104人力銀行從職缺中挑選出常見技能所成立的官方教室,提供大家進行共學互動。
學習主持人
持續分享知識,
有機會成為官方教室主持人
教室標籤
關於教室
關注人數 4 人
104人力銀行從職缺中挑選出常見技能所成立的官方教室,提供大家進行共學互動。
學習主持人
持續分享知識,
有機會成為官方教室主持人
教室標籤
Hi~ 歡迎分享學習資源,有學習問題可匿名向Giver發問!
我要分享
我要提問

資料結構 學習推薦

全部
影片
文章
趙之君

Android App 專家

2022/02/22

Android 面試題庫,你瞭解多少?
在專業工程面試中,除了經常會有的演算法、資料結構問題,也有相關領域的專業題目。對 Android 工程,以下網站總結了滿多 Android 領域的面試題,建議面試前可以複習一下。就算沒有要面試,也可以透過這些問題,更了解自己對 Android 的理解程度~
2 0 847 1

熱門精選

陳立婕

產品行銷專案經理

04/18 12:31

🔥104人力銀行「2024職涯博覽會」開始報名啦📢
一年就這一次!應屆預備找工作搶先報名 👉 https://tw104.pse.is/5u86r4
微軟、緯穎、德州儀器、遊戲橘子、東京威力科創、KPMG、IKEA、星巴克、宜得利、迪卡儂等,上百家頂尖知名企業現場徵才🤩
📍 6/15(六) 資訊科技、顧問金融業
企業名單看這邊➡️ https://tw104.pse.is/5u834l
📍 6/16(日) 電子製造業、零售服務業
企業名單看這邊➡️ https://tw104.pse.is/5u83bn
連續兩日,優質企業將在現場釋出數千個工作機會💼
另有中高階獵才、職涯諮詢、趨勢論壇、夜fun職場等系列活動,
主題精采多元,除部分講座收費,其餘活動皆 免費!免費!免費!
心動不如立即搶先報名👉 https://tw104.pse.is/5u86r4
1 2 3892 0
104學習精靈精選課程
想提升職場競爭力?專業技能課程看起來👇
資料結構精修
資料結構(Data Structures)是資訊學科中的核心課程之一,也是嵌入式軟體設計的基礎課程。「資料結構精修班」教授軟體開發者必修的資料結構和演算法,讓你思考程式的執行效率。 1. 不僅學會撰寫程式,還能夠清楚掌握程式的重要觀念,了解”軟體程式=演算法+資料結構。 2. 能熟悉不同資料結構的設計模式。 3. 能了解軟體程式在何時會應用到這些資料結構。 4. 藉由排序與搜尋演算法理解來討論Big-O演算法效能分析。 1. 資深軟體工程師上的資料結構。 資料結構不是用來考試的,給你真正用軟體設計思維思考資料結構設計。 2. 重視實作的方法。 資料結構不能只會觀念性描述, 還必須知道每一個結構定義完之後, 該如何具體實現, 每一個實現的方法,還能分析它的好壞 (複雜度分析)。 課程提供的資料結構範例程式,可以使用任何C編譯器進行編譯,例如Code Blocks 、windows Dev-C++ 或 Linux 下的 GNU C 編譯器 (gcc) 章節架構: Part1-資料結構導論 Part2-ADT 抽象資料型別設計方法 Part3-Set 集合ADT設計 Part4-Stack堆疊 ► 堆疊ADT設計 ► 堆疊軟體應用 Part5-Queue 佇列 ► 佇列ADT設計 ► 環狀佇列ADT設計 ► 堆疊軟體應用 Part6-Linked List鏈結串列 ► 動態配置記憶體 ► 單向鏈結串列 ► 環狀鏈結串列 ► 使用C鏈結串列的各式操作-串列串接、串列反轉 Part7-Tree樹狀結構 ► 二元樹簡介 ► 樹ADT設計 ►二元搜尋樹(Binary Search Tree) ►建立(插入)節點、搜尋節點、刪除節 Part8-Graph 圖形結構 ►圖ADT設計 ►圖的表示法 ►建構圖、刪除邊、刪除頂點 ►圖走訪 ►DFS ►BFS ►軟體應用- 求最短路徑 ►Dijkstra 演算法 ►Bellman-Ford演算法 Part9-Search資料搜尋 ► 線性搜尋 (Linear Search) ► 二元搜尋 (Binary Search) ► 雜湊搜尋法 (Hashing) Part10-Sorting資料排序 ► 氣泡排序(bubble sort) ► 選擇排序(selection sort) ► 插入排序(insertion sort) ► 快速排序(quick sort) ► 合併排序(merge sort) ► 桶排序(bucket sort)
艾鍗學院
Linux系統程式設計
一般情況,通常整個Linux系統的功能會有你自己寫的程式(可能也會去連結GPL或LGPL函式庫)並整合一些來自Open Source的程式。雖然Linux已存在很多的Open Source,但不可能永遠運氣這麼好都可以找到100%符合需求或規格的原始碼,所以你必須懂得如何修改成你要的功能。不論自己寫或移植Open Source,這些都是基於Linux核心,所以一定會用到Linux核心的能力,包含裝置I/O請求、多行程、同步處理、行程通訊等。若你的系統需要TCP/IP通訊,還得懂Socket網路程式設計。想自己寫並且能改得動Open Source的程式,其實要具備Linux系統程式設計的能力,你可以透過閱讀"Linux Programming Manual",但是篇幅之廣泛且多元,如果沒有對作業系統有一定的認知,不懂對系統呼叫(System call)所產生Linux背後的運作行為,很難了解真諦。因此若有經驗的人帶你看並且提供範例程式演練,對於學習會相當有幫助。 本數位課程為學習套餐,另外加入了C程式及及資料結構(Data Structures)2門基礎課程,雖是基礎但它卻是資訊學科領域非常重要的核心課程,因為唯有好的程式基礎對於本課程的理解才會事半功倍。 學習目標: 1. 了解Linux system call 及OS作業系統所扮演的功能。 2. Linux 低階I/O輸入輸出 3. Linux 多執行緒與同步控制 4. Linux 行程管理與IPC行程間通訊 5. 了解TCP/IP原理與client server網路架構 6. Socket Programming 網路程式設計 7. 能夠實現Raw Sokcet與UDP Multicast 功能 8. UART Serial 序列程式設計 章節架構 ★ 精通C語言  程式語言導論  C程式介紹  運算式  流程控制  函式與巨集  陣列與指標  字串處理  變數範圍  檔案管理  NEW data Type ★ 資料結構  資料結構導論  ADT 抽象資料型別設計方法  Set 集合 ADT設計  Stack堆疊  Queue 佇列  Linked List鏈結串列  Tree樹狀結構  Graph 圖形結構  Search資料搜尋  Sorting資料排序 ★ Linux系統程式設計  Low Level I/O Routine  File and Directory Manipulation  General Library Interface  Processes  Signals  POSIX Thread  InterProcess Communication  Shell programming  Linux Serial Programming  Linux Sokcet Programming  TCP/IP 網路簡介(1)  TCP/IP 網路簡介(2)  Wireshark 工具使用  TCP Socket程式與Socket API介紹  Socket多工處理  UDP Socket  Unix Domain Socket  Socket Option & Ioctl
艾鍗學院
資料結構精修
資料結構(Data Structures)是資訊學科中的核心課程之一,也是嵌入式軟體設計的基礎課程。「資料結構精修班」教授軟體開發者必修的資料結構和演算法,讓你思考程式的執行效率。 1. 不僅學會撰寫程式,還能夠清楚掌握程式的重要觀念,了解”軟體程式=演算法+資料結構。 2. 能熟悉不同資料結構的設計模式。 3. 能了解軟體程式在何時會應用到這些資料結構。 4. 藉由排序與搜尋演算法理解來討論Big-O演算法效能分析。 1. 資深軟體工程師上的資料結構。 資料結構不是用來考試的,給你真正用軟體設計思維思考資料結構設計。 2. 重視實作的方法。 資料結構不能只會觀念性描述, 還必須知道每一個結構定義完之後, 該如何具體實現, 每一個實現的方法,還能分析它的好壞 (複雜度分析)。 課程提供的資料結構範例程式,可以使用任何C編譯器進行編譯,例如Code Blocks 、windows Dev-C++ 或 Linux 下的 GNU C 編譯器 (gcc) 章節架構: Part1-資料結構導論 Part2-ADT 抽象資料型別設計方法 Part3-Set 集合ADT設計 Part4-Stack堆疊 ► 堆疊ADT設計 ► 堆疊軟體應用 Part5-Queue 佇列 ► 佇列ADT設計 ► 環狀佇列ADT設計 ► 堆疊軟體應用 Part6-Linked List鏈結串列 ► 動態配置記憶體 ► 單向鏈結串列 ► 環狀鏈結串列 ► 使用C鏈結串列的各式操作-串列串接、串列反轉 Part7-Tree樹狀結構 ► 二元樹簡介 ► 樹ADT設計 ►二元搜尋樹(Binary Search Tree) ►建立(插入)節點、搜尋節點、刪除節 Part8-Graph 圖形結構 ►圖ADT設計 ►圖的表示法 ►建構圖、刪除邊、刪除頂點 ►圖走訪 ►DFS ►BFS ►軟體應用- 求最短路徑 ►Dijkstra 演算法 ►Bellman-Ford演算法 Part9-Search資料搜尋 ► 線性搜尋 (Linear Search) ► 二元搜尋 (Binary Search) ► 雜湊搜尋法 (Hashing) Part10-Sorting資料排序 ► 氣泡排序(bubble sort) ► 選擇排序(selection sort) ► 插入排序(insertion sort) ► 快速排序(quick sort) ► 合併排序(merge sort) ► 桶排序(bucket sort)
艾鍗學院
Linux系統程式設計
一般情況,通常整個Linux系統的功能會有你自己寫的程式(可能也會去連結GPL或LGPL函式庫)並整合一些來自Open Source的程式。雖然Linux已存在很多的Open Source,但不可能永遠運氣這麼好都可以找到100%符合需求或規格的原始碼,所以你必須懂得如何修改成你要的功能。不論自己寫或移植Open Source,這些都是基於Linux核心,所以一定會用到Linux核心的能力,包含裝置I/O請求、多行程、同步處理、行程通訊等。若你的系統需要TCP/IP通訊,還得懂Socket網路程式設計。想自己寫並且能改得動Open Source的程式,其實要具備Linux系統程式設計的能力,你可以透過閱讀"Linux Programming Manual",但是篇幅之廣泛且多元,如果沒有對作業系統有一定的認知,不懂對系統呼叫(System call)所產生Linux背後的運作行為,很難了解真諦。因此若有經驗的人帶你看並且提供範例程式演練,對於學習會相當有幫助。 本數位課程為學習套餐,另外加入了C程式及及資料結構(Data Structures)2門基礎課程,雖是基礎但它卻是資訊學科領域非常重要的核心課程,因為唯有好的程式基礎對於本課程的理解才會事半功倍。 學習目標: 1. 了解Linux system call 及OS作業系統所扮演的功能。 2. Linux 低階I/O輸入輸出 3. Linux 多執行緒與同步控制 4. Linux 行程管理與IPC行程間通訊 5. 了解TCP/IP原理與client server網路架構 6. Socket Programming 網路程式設計 7. 能夠實現Raw Sokcet與UDP Multicast 功能 8. UART Serial 序列程式設計 章節架構 ★ 精通C語言  程式語言導論  C程式介紹  運算式  流程控制  函式與巨集  陣列與指標  字串處理  變數範圍  檔案管理  NEW data Type ★ 資料結構  資料結構導論  ADT 抽象資料型別設計方法  Set 集合 ADT設計  Stack堆疊  Queue 佇列  Linked List鏈結串列  Tree樹狀結構  Graph 圖形結構  Search資料搜尋  Sorting資料排序 ★ Linux系統程式設計  Low Level I/O Routine  File and Directory Manipulation  General Library Interface  Processes  Signals  POSIX Thread  InterProcess Communication  Shell programming  Linux Serial Programming  Linux Sokcet Programming  TCP/IP 網路簡介(1)  TCP/IP 網路簡介(2)  Wireshark 工具使用  TCP Socket程式與Socket API介紹  Socket多工處理  UDP Socket  Unix Domain Socket  Socket Option & Ioctl
艾鍗學院
Mike Ku

Learn Code With Mike品牌創辦人

2021/10/27

Pandas DataFrame處理雙維度資料方法(4)
Q:如何取得Pandas DataFrame資料?
1.head():取得最前面的n筆資料,並且會回傳一個新的Pandas DataFrame資料集,如下範例:
grades = {
"name": ["Mike", "Sherry", "Cindy", "John"],
"math": [80, 75, 93, 86],
"chinese": [63, 90, 85, 70]
}
df = pd.DataFrame(grades)
new_df = df.head(2)
print(new_df) #取得最前面的兩筆資料
2.tail():取得最後面的n筆資料,並且會回傳一個新的Pandas DataFrame資料集,如下範例:
grades = {
"name": ["Mike", "Sherry", "Cindy", "John"],
"math": [80, 75, 93, 86],
"chinese": [63, 90, 85, 70]
}
df = pd.DataFrame(grades)
new_df = df.tail(3)
print(new_df) #取得最後面的三筆資料
3.中括號[]:在中括號中指定「欄位名稱」或「資料索引值」,來取得所需的資料集,如下範例:
grades = {
"name": ["Mike", "Sherry", "Cindy", "John"],
"math": [80, 75, 93, 86],
"chinese": [63, 90, 85, 70]
}
df = pd.DataFrame(grades)
print(df[["name"]]) #取得單一欄位資料(型別為DataFrame)
print(df[["name", "chinese"]]) #取得多欄位資料(型別為DataFrame)
print(df[0:3]) #取得索引值0~2的資料
4.at[資料索引值,欄位名稱]:利用資料索引值及欄位名稱來取得「單一值」,如下範例:
grades = {
"name": ["Mike", "Sherry", "Cindy", "John"],
"math": [80, 75, 93, 86],
"chinese": [63, 90, 85, 70]
}
df = pd.DataFrame(grades)
print(df.at[1, "math"]) #利用at()方法取得索引值為1的math欄位資料
5.iat[資料索引值,欄位順序]:利用資料索引值及欄位順序來取得「單一值」,如下範例:
grades = {
"name": ["Mike", "Sherry", "Cindy", "John"],
"math": [80, 75, 93, 86],
"chinese": [63, 90, 85, 70]
}
df = pd.DataFrame(grades)
print(df.iat[1, 0]) #取得索引值為1的第一個欄位資料"
5.loc[資料索引值,欄位名稱]:利用資料索引值及欄位名稱來取得「資料集」,如下範例:
grades = {
"name": ["Mike", "Sherry", "Cindy", "John"],
"math": [80, 75, 93, 86],
"chinese": [63, 90, 85, 70]
}
df = pd.DataFrame(grades)
print(df.loc[[1, 3], ["name", "chinese"]]) #取得資料索引值為1和3的name及chinese欄位資料集
6.iloc[資料索引值,欄位順序]:利用資料索引值及欄位順序來取得「資料集」,如下範例:
grades = {
"name": ["Mike", "Sherry", "Cindy", "John"],
"math": [80, 75, 93, 86],
"chinese": [63, 90, 85, 70]
}
df = pd.DataFrame(grades)
print(df.iloc[[1, 3], [0, 2]]) #取得資料索引值為1和3的第一個及第三個欄位資料集
如果想要學習更多的Python應用教學,歡迎前往Learn Code With Mike( https://www.learncodewithmike.com/2020/11/python-pandas-dataframe-tutorial.html )網站觀看更多精彩內容。
2 0 358 0

推薦給你

知識貓星球

喵星人

5小時前

五招分析品牌競爭對手!
分析品牌競爭對手對於企業的重要性不言而喻,通過分析競爭對手,企業可以更好地了解市場上的主要定位,有助於企業確定自己的定位和差異化策略,同時也可以了解市場上的最新趨勢、消費者需求以及競爭對手的優勢和不足,以下介紹五個可以研究競爭對手的方法:
1. 不要只會用google了!
我們在調查競爭者時第一部確實是從簡單的Google搜索開始,或是到競爭對手的網站,但也有各種工具可能會給你帶來有趣的競爭對手洞察,介紹以下三個網站
可以研究競爭對手正在購買的關鍵字和AdWords。
了解行業最新動態、將自己的公司與其他公司進行比較,以及查看人們現在關注的是什麼
可以設定你想要接收的關鍵字、自己公司名稱,Google會在你設定的時間發送所有相關的最新新聞、報導、論壇等資訊給你,確保你能跟上產業動態
2. 利用社交網路/社群媒體
越來越多品牌會經營Facebook、LinkedIn和X等社交平台作為行銷的管道,你可以透過關注這些網站,找到有關競爭對手(甚至是你自己的公司)的有趣訊息,甚至可以了解大眾公眾對我們競爭對手的情緒和看法,也可以得知對手正在舉辦什麼活動、有什麼促銷訊息;你可以開啟競爭對手的社群媒體通知,即能掌握他們最新的動態。
3. 問你的客戶
在確定有關競爭對手的訊息來源時,不要忘記最重要且最真實的聲音,如你的客戶。每當你贏得一個新客戶時,找出他們以前使用過的品牌,以及他們為什麼選擇離開轉向你的原因;反之,當你失去一個客戶時,也要找出他們喜歡你的競爭對手的原因,如此我們將可以清楚地了解競爭對手提供了什麼樣的服務,進而調整自己的產品或服務,以勝過競爭對手。
4. 參加研討會/展覽
參加產業的展覽和研討會,以及加入行業協會是了解競爭對手是誰以及他們提供什麼的好方法;可以以在會場或展場觀察競爭對手的攤位,看看他們與客戶的互動、舉辦了哪些活動、拿他們的宣傳資料。
5. 觀察他們在招聘誰
研究競爭對手正在尋找的工作類型,也可以發現一些東西,例如,如果一家公司正在招聘一名程式工程師,他們將包括有關應徵者需要了解哪些技術的訊息,這告訴你他們在使用什麼;還要看競爭對手正在招聘的職位——如果他們正在尋找專利律師,他們可能正在從事一些重大的新發明;如果他們正在招聘幾個人力資源,他們可能準備全面擴展。
0 0 69 0
你可能感興趣的教室