程式必修課!資料結構與演算法|JavaScript 篇

    用 JavaScript 學習資料結構與演算法,內容包含排序演算法、主定理、連結串列、雜湊表等

    2259
    5.0
    • 使用 Big O Notation, Big Omega, Big Theta 三種工具來分析不同的演算法與資料結構

    • 線性搜索(Linear Search)與二分搜尋演算法(Binary search algorithm)

    • 學習並演練演算法設計技巧,例如:Pointer, Counter, Sliding Window, Divide and Conquer

    • 了解並且證明主定理(Master Theorem)

    • 了解基本的資料結構,例如:LinkedList、Stack、Queue

    US$18.43
    US$84.01

    按一下 進入設定

    00:00
    00:00
    00:00

    為什麼要學習資料結構與演算法?

    資料結構與演算法為電腦科學系、資工系必修科目之一,也是所有電腦相關科系中最重要的課程之一,因為其概念應用廣泛,在現實生活中的軟體、網路應用與資料處理,都會大量使用到資料結構與演算法的概念。


    此外,電腦世界中的資料以許多不同的形式儲存起來。當資料量開始龐大時,好的演算法與資料結構可以大幅提升資料儲存與讀取的速度。而在建造系統時,不同的情況下也會需要不同種類的資料結構。


    這堂課程會從零教你不同的資料結構與演算法,逐一分析使用情況與時機,並且了解其時間複雜度,包含:排序演算法、主定理、連結串列、雜湊表、二元搜尋樹、優先佇列、霍夫曼演算法、最小生成樹、深度優先搜尋、寬度優先搜尋、最短路徑演算法、戴克斯特拉演算法、動態規劃等等。



    學習的路上,想必你也遇過這些困難

    1. 許多學生數學底子不好,在了解演算法分析上會感到吃力。這堂課程提供演算法分析時所需要的數學解說與證明,讓學生可以無痛上軌道。
    2. 有各種不同語言的資料結構課程,不知道哪個比較好?這堂所有資料結構與演算法皆提供 Pseudocode,學生可以用任何程式語言學習!
    3. 在 LeetCode上面刷題目,卻總是卡關?這堂課提供解題技巧,讓你解題時不再困惑!



    提升面試競爭力,完美回答演算法與資料結構面試題

    1. 課程涵蓋 25 種演算法 9 種資料結構,包含國內外必考白板題解析,讓你準備好回答面試題目。
    2. 資料結構與各種演算法皆有圖片解析,還有一步步的程式碼設計解說,讓你深入了解各種資料結構的構成方式!



    掌握資料結構與演算法,建造良好系統結構


    8 種不同排序演算法
    你將能夠用程式碼表現出「Bubble Sort」、「Insertion Sort」、「Selection Sort」、「Merge Sort」、「Heap Sort」、「Quicksort」等排序演算法,並了解其各自的使用時機、特性與優劣關係。








    學習並演練演算法設計技巧
    例如:Pointer、Counter、Sliding Window、Divide and Conquer,大幅降低演算法的時間複雜度。


    了解基本的資料結構
    例如:LinkedList、Stack、Queue、Tree、Graph,以及現實生活中的應用範例。例如,Stack 在遞迴函數中的 call stack,還有 linkedlist 與 array 的使用時機比較!


    了解 Hashtable 的運作原理與計算公式
    包含 Multiplication Method and Division Method 兩種方式製作Hashtable, 並認識程式語言當中,內建的 hashtable 使用範例與原則。


    學會圖形演算法
    例如:Floyd-Warshall 演算法Dynamic Programming 動態規劃、Dijkstra's Algorithm、Depth First Traversal、Breadth First Traversal。




    不論非本科、初學者,或是工程師,都能收穫滿滿

    • 對資料科學有興趣的開發工程師 → 能夠了解演算法的複雜度,更深入了解各種資料科學演算法的背後邏輯
    • 對網頁前端、後端有興趣,能夠使用基本JavaScript的工程師 → 課後能建立較良好的系統架構,有效提升資料儲存與讀取的速度
    • 正在大學就讀資訊工程、電腦科學、資料科學相關學系的學生 → 精進專業領域知識,提早準備面試題,為未來鋪路
    • 想要轉職成為工程師的人 → 學習程式領域必備知識,提升業界競爭力
    • 不是資工本科系,但想要就讀或報考資工研究所的學生 → 提前學習程式領域必備知識,未來寫程式將能更清楚程式架構


    課程評價

    ⭐️Sung Xeh:覺得老師教學對於非本科系是個真的很 friendly! 而且老師聲音很好聽 XDD 個人覺得很讚


    ⭐️Benben X育:超級推!難得的中文資源!講解的很詳細,第一次把排序演算法搞得這麼清楚,太感謝大大了。


    ⭐️X Huang:買過3、4門講演算法的線上課程,這是唯一一門聽了沒睡著的,不得不佩服口條和內容編排的功力。


    ⭐️楊X耀:意外發現這個課程,受益良多


    ⭐️HtX456:講解很清楚

    章節目錄

    • 1-1
      JavaScript 語法幫助
    • 1-2
      Additional Resources 額外資源
    • 1-3
      Textbook 教科書使用

    試閱影片

    常見問答

    如果您購買的是募資課程,請在課程的【簡介】中查看開課時間,募資課程將於開課時間所述日期開放同學上課。

     

    若您購買的是一般課程(開放上課課程),則在購買完成後可以立即開始觀看。

     

    所有線上課程皆不受時間限制,享無限次永久觀看!

    猜你喜歡

    購買前問答

    sharon young
    sharon young

    老師您好,最近想學網頁開發,對於相關程式沒什麼基礎可言(目前常使用的為Python,其他還有接觸過C++)。剛好看到有組合課程,想請問"資料結構與演算法 + 全端網站開發"這組課程組合,前者資料結構使用JS是為了網站開發作開端嗎? 還是說可以直接從單一課程"全端網站開發"直接學完整的網頁架構? 或是有其他建議也歡迎~ Thanks

    Wilson Ren
    Wilson Ren

    資料結構課程其實學的是「邏輯與概念」,跟使用的程式語言其實關聯不大。課程中會學的是pseudocode,所以你可以用C++、Python或是JavaScript任何一門程式語言實現任何一種演算法。課程中示範的code只是剛好使用JS。

     

    另外,網頁開發課程可以學到完整的網頁架構,前端與後端都會包含。資料結構課程中的JS程式碼在網頁開發時,可以直接複製貼上。

    銷售方案