日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

常见数据结构

發布時間:2023/12/13 综合教程 29 生活家
生活随笔 收集整理的這篇文章主要介紹了 常见数据结构 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在計算機科學中,數據結構(英語:data structure)是計算機中存儲、組織數據的方式。數據結構意味著接口或封裝:一個數據結構可被視為兩個函數之間的接口,或者是由數據類型聯合組成的存儲內容的訪問方法封裝。-- "維基百科"

1. 鏈表

鏈表是一種非連續、非順序的存儲結構,數據元素的邏輯順序是通過鏈表中的指針鏈接次序實現的;鏈表由一系列節點組成,每個節點包含存儲數據元素的數據域和存儲下一節點地址的指針域。由于不必按順序存儲,鏈表在插入元素時可以達到O(1),但在查找某一元素時為O(n);
使用鏈表結構可以克服數組鏈表需要預先知道數據大小的缺點,鏈表結構可以充分利用計算機內存空間,實現靈活的內存動態管理;但是鏈表失去了數組隨機讀取的優點,同時鏈表由于增加了結點的指針域,空間開銷比較大;
單向鏈表(鏈表鏈接方向單向,訪問要從頭部開始順序讀取);
雙向鏈表(每個數據節點中都有兩個指針,一個指向直接前驅,一個指向直接后繼);
循環鏈表(表中最后一個節點的指針域指向頭節點,整個鏈表形成一個環);

2. 隊列

先進先出的線性表結構,插入在一端,刪除在另一端;

3. 棧

先進后出的線性表結構,只能在一端進行插入和刪除操作

4. 哈希表

它通過把關鍵碼值映射到表中一個位置來訪問記錄,以加快查找的速度;這個映射函數叫做散列函數,存放記錄的數組叫做散列表;

5. 堆

看作一棵樹的數組對象,堆中某個節點的值總是不大于或不小于其父節點的值,堆總是一棵完全二叉樹;根節點最大的叫大根堆,根節點最小的叫小根堆;

6. 優先隊列

優先隊列中,元素被賦予優先級,當訪問元素時,具有最高優先級的元素最先刪除;常采用堆數據結構來實現;

7. 字典樹(非線性結構)

是哈希樹的變種,典型應用是用于統計,排序和保存大量的字符串(但不僅限于字符串),所以經常被搜索引擎系統用于文本詞頻統計。利用字符串的公共前綴來減少查詢時間,最大限度地減少無謂的字符串比較,查詢效率比哈希樹高;

8. 樹(非線性結構)

二分查找樹(BST,左子樹節點都比根節點小,右子樹節點都比根節點大);

平衡二叉樹(AVL,它是一棵空樹或它的左右兩個子樹的高度差(平衡因子:結點左子樹的深度減去右子樹的深度)的絕對值不超過1,并且左右兩個子樹都是一棵平衡二叉樹);

紅黑樹(自平衡的二叉查找樹,規則1節點是紅或黑,規則2根節點黑色,規則3每個葉子節點都是黑色的空節點(NIL),規則4每個紅色節點的兩個子節點都是黑色(不能有兩個連續的紅色節點),規則5從任一節點到其每個葉子的所有路徑都包含相同數目的黑色節點)(變色、旋轉)

9. 圖(非線性結構)

無向圖(邊沒有方向的圖);

連通圖(在無向圖中,若從頂點i到頂點j有路徑相連(當然從j到i也一定有路徑),則稱i和j是連通的;如果是有向圖,那么連接i和j的路徑中所有的邊都必須同向;如果圖中任意兩點都是連通的,那么圖被稱作連通圖。如果此圖是有向圖,則稱為強連通圖);

總結

以上是生活随笔為你收集整理的常见数据结构的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。