資料結構與演算法分析 索引

2021-09-07 05:07:23 字數 1145 閱讀 2177

法和資料結構是電腦科學的核心內容。作為程式猿,程式設計是我們的實戰專案。然而,寫出程式還不夠。乙個程式在應對一些大型而複雜的情況時。會耗費大量的時間。我們能夠非常easy寫出乙個從檔案裡找到乙個詞的程式。比方逐詞掃瞄。看是否相符。但假設我們的檔案有幾十tb,並且要從檔案裡找到上百個詞,逐個掃瞄的辦法就差點兒不可行。我們須要優化程式,以便我們的程式能夠應對複雜問題。

演算法研究解決這個問題的方法,而資料結構則是設計一種更好的組織資料和使用資料的方式。兩者有非常強的相互依賴關係,所以往往放在一起討論。(摘自vamei部落格:

作為一枚都快要畢業的研究僧。非科班出身,主要做影象處理,機械人視覺方面的工作。本科做嵌入式硬軟體。以為自己的程式設計還算過得去,研究生期間看過非常多國外大牛寫的project。自己也都是在用別人的工程,感慨別人的專業技能太強了,詳細表如今既能推公式,寫*****,oral presentation如此的精彩,就連演算法的**也寫得如此之好,不說精湛嘛至少也是高效、整潔、穩定,看過別人的curriculum vitae(cv),skills從c/c++,matlab,python一直到php。sql;opencv,gl,mp能用的都會了,我認為這都得益於他們紮實的語言基礎,當然資料結構與演算法也是當中比較重要的部分。

看過非常多東西比不代表就會了,細節部分太重要了,以至於當我想親自構建乙個project的時候感覺思路有,卻非常多細節地方不明不白,上次去面試要現場寫演算法程式才發現,理解了和懂了是兩碼事,基礎太菜傷不起。

本系列文章將從最簡單一步一步在懂了的前提下親自己主動手寫。

平台採用raspberry 2 b,注意執行結果可能會與vs2012有出入。期間會穿插一些linux的基礎比方命令,makefile編寫。多執行緒程式設計等。

最後會完畢乙個小的資料結構project,**見github: 保持持續更新。linux使用者直接download**:

git clone .git

數學知識複習

排序演算法(插入。希爾,選擇。冒泡,歸併。快排,堆排)

表(list)

棧(stack)

佇列(queue)

樹、二叉樹、二叉查詢樹

雜湊(hashing)

優先佇列(heap)

貪念演算法

參考:

資料結構與演算法分析-c語言描寫敘述[m],機械工業出版社

資料結構與演算法分析

資料結構與演算法分析可以稱得上是程式設計師必須修煉的內功心法。資料的儲存結構 資料元素在計算機中的儲存方式 資料的操作集合 對一種資料型別的資料所有操作,例如對資料的增刪改查等等!演算法分析主要分析 下面是一些常用資料結構 一 線性表 1.陣列實現 2.鍊錶 二 棧與佇列 三 樹與二叉樹 1.樹2....

資料結構與演算法分析

資料結構 大量資料的組織方法 演算法分析 演算法執行時間的估算。涉及到計算效率。設想,如果能把時間限制從16年減至不到1秒,不很神奇嗎?在很多問題中,乙個重要的觀念是 寫出乙個可以工作的程式並不夠。如果這個程式在巨大的資料集上執行,執行時間就成了重要的 問題。演算法,是為求解乙個問題需要遵循的 被清...

資料結構與演算法 倒排索引

1 倒排索引 檢視提交統計提問 總時間限制 1000ms 記憶體限制 131072kb 描述給定一些文件,要求求出某些單詞的倒排表。對於乙個單詞,它的倒排表的內容為出現這個單詞的文件編號。輸入第一行包含乙個數n,1 n 1000,表示文件數。接下來n行,每行第乙個數ci,表示第i個文件的單詞數。接下...