為了方便 JavaRush 學生,我們決定收集程式設計中最重要主題的講座和文章。第三個選擇是關於演算法的。在迷你指南中,我們簡要概述了文章的精髓,如果您點擊鏈接,您可以了解有關感興趣主題的更多信息。將集合加入書籤並在需要時返回。
有關演算法的資料
文章和講座
哈佛課程
《CS50. 程式設計基礎》涵蓋了開發人員必須具備的基礎知識。本講座討論一種稱為合併排序的演算法。這個演算法是遞歸的;它將一個大型排序問題分解為子任務,子任務的執行使其更接近解決原始大問題。本講座有文字和視訊兩種形式。
哈佛課程「CS50. 程式設計基礎」的下一講將討論選擇排序。在講座中以對數字數組進行排序的範例來討論這種排序演算法。與上一講座一樣,您可以閱讀它或觀看視頻,這取決於您認為如何更容易吸收資訊。
哈佛大學課程的另一場講座由 JavaRush 翻譯成俄語。此演算法(插入排序)的主要想法是將陣列分為兩部分,已排序和未排序。在演算法的每一步,數字都會從未排序的部分移動到已排序的部分。
講師用簡單的例子來解釋冒泡排序演算法的工作原理。這個演算法非常清晰,也最容易實現。這就是為什麼初學者非常喜歡它。閱讀講座並觀看影片來學習冒泡排序。
對元素進行排序是開發人員必須習慣的演算法類別之一。在本文中,作者研究了排序演算法:簡單排序、選擇排序、插入排序、穿梭排序、希爾排序等。由於這是一篇評論文章,文章所附的資料將使您了解更多資訊。其目的是進行簡短的介紹。
這是一篇關於編寫程式碼的演算法的文章的翻譯。翻譯的作者假設這篇文章將由已經了解該語言基礎知識並希望稍微擴展其演算法知識的人閱讀。解決下面提出的問題的常見方法包括:排序、二分搜尋、雜湊表、
堆疊、樹、
深度優先搜尋、
動態程式設計。
關於演算法的介紹文章。文字使用需要解決的問題的範例逐步解釋演算法以及如何使用它們。講座結束時有一個有用的資源列表,其中包含有關演算法的資訊。
《面試題目及答案》中的演算法
專案中使用各種類型的演算法的頻率比您想像的要高。例如,我們需要根據某些參數(列)對一些資料進行排序,以便我們可以輕鬆瀏覽它。因此,在工作面試期間,他們可能會被問及特定的基本演算法,並且可能會被賦予使用程式碼實現它的任務。在本文中,您可以熟悉一些基本演算法及其在 Java 中實現的具體範例。
作者在之前的一篇文章中講了數組排序的各種演算法以及所謂的貪心演算法,本文講的是與之相關的圖和演算法。
獎金
對 Aditya Bhargava 所著的《Grocking Algorithms》一書進行了非常詳細的評論。作者一步一步地審查了本書的每個部分:主題是否以易於理解的方式呈現,是否提供了足夠的資訊。閱讀評論並決定是否購買一本關於演算法的書。
本書致力於資料結構和演算法在程式設計中的學習和使用。她將討論資料結構如何決定資料在記憶體中的組織方式,以及演算法如何對這些結構執行各種操作。
GO TO FULL VERSION