電子產(chǎn)業(yè)一站式賦能平臺

PCB聯(lián)盟網(wǎng)

搜索
查看: 93|回復: 0
收起左側(cè)

數(shù)據(jù)結(jié)構(gòu)與算法概述

[復制鏈接]

317

主題

317

帖子

3149

積分

四級會員

Rank: 4

積分
3149
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2024-11-30 12:46:00 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
擊左上方藍色“一口Linux”,選擇“設(shè)為星標
第一時間看干貨文章
?【干貨】嵌入式驅(qū)動工程師學習路線?【干貨】Linux嵌入式知識點-思維導圖-免費獲取?【就業(yè)】一個可以寫到簡歷的基于Linux物聯(lián)網(wǎng)綜合項目?【就業(yè)】找工作簡歷模版


數(shù)據(jù)結(jié)構(gòu)與算法是信息技術(shù)的核心基礎(chǔ)。掌握好這些基本知識,才能更好的使用信息技術(shù),進而能設(shè)計好的軟件。學習數(shù)據(jù)結(jié)構(gòu)與算法可從如下思維導圖開始:

數(shù)據(jù)結(jié)構(gòu)與算法概述
邏輯結(jié)構(gòu):數(shù)據(jù)的基本組成,一般可分為線性還是非線性。線性有明確的開頭和結(jié)構(gòu),其元素有清晰的前后順序關(guān)系。
存儲結(jié)構(gòu):結(jié)合實際存放數(shù)據(jù)的計算機存儲空間來看?梢苑譃轫樞、鏈式、散列、索引等結(jié)構(gòu)。
基本運算:要了解數(shù)據(jù)解耦的創(chuàng)建、清楚、元素CRUD,統(tǒng)計和復雜度評估
算法詳細:要特別掌握的兩類算法就是遞歸與排序。遞歸的應(yīng)用可簡化程序設(shè)計,排序則是數(shù)據(jù)結(jié)構(gòu)中不可缺少的組成部分。
數(shù)據(jù)結(jié)構(gòu)常見的數(shù)據(jù)結(jié)構(gòu)有如下這些,在日常開發(fā)中常用。通常能夠找到第三方庫,學習時可自己動手寫一個,然后與熱門的流行第三方庫對比,能有更好收獲。如下分別介紹:





隊列



隊列
鏈表



鏈表

單向鏈表

雙向鏈表

單向循環(huán)鏈表

雙向循環(huán)鏈表
數(shù)組



數(shù)組










散列表



散列表
紅黑樹



紅黑樹






排序算法數(shù)據(jù)結(jié)構(gòu)要支持快速元素的查找、修改、增加與刪除,都需要排序。排序是最重要的算法。排序的目的是將無序變成有序。算法有很多,如下面介紹


排序

冒泡



冒泡排序
選擇



選擇排序
插入



插入排序
希爾



















歸并



步驟一:拆分

步驟二:分別排序

步驟三:合并
快速








初始化

第二步:轉(zhuǎn)換為最大堆:葉子節(jié)點小于根節(jié)點

第三步:構(gòu)建Max Heap

將根節(jié)點放到最后,并剔除,再進行第二步
計數(shù)






















































基數(shù)










參考資料:MIT : https://ocw.mit.edu/
DSA: https://www.geeksforgeeks.org/data-structures/?ref=shm
[/ol]end

一口Linux

關(guān)注,回復【1024】海量Linux資料贈送
精彩文章合集
文章推薦
?【專輯】ARM?【專輯】粉絲問答?【專輯】所有原創(chuàng)?【專輯】linux入門?【專輯】計算機網(wǎng)絡(luò)?【專輯】Linux驅(qū)動?【干貨】嵌入式驅(qū)動工程師學習路線?【干貨】Linux嵌入式所有知識點-思維導圖
回復

使用道具 舉報

發(fā)表回復

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則


聯(lián)系客服 關(guān)注微信 下載APP 返回頂部 返回列表