資料元素相互之間的關係稱為結構。有四類基本結構:集合、線性結構、樹形結構、圖狀結構;
集合結構:除了同屬於一種型別外,別無其它關係
線性結構:元素之間存在一對一關係常見型別有: 陣列,鍊錶,佇列,棧,它們之間在操作上有所區別.例如:鍊錶可在任意位置插入或刪除元素,而佇列在隊尾插入元素,隊頭刪除元素,棧只能在棧頂進行插
入,刪除操作.
樹形結構:元素之間存在一對多關係,常見型別有:樹(有許多特例:二叉樹、平衡二叉樹、查詢樹等)
圖形結構:元素之間存在多對多關係,圖形結構中每個結點的前驅結點數和後續結點多個數可以任意
所謂的基本演算法應該是指:
一、排序演算法
1、有簡單排序(包括氣泡排序、插入排序、選擇排序)
2、快速排序,很常見的
3、堆排序,
4、歸併排序,最穩定的,即沒有太差的情況
二、搜尋演算法
最基礎的有二分搜尋演算法,最常見的搜尋演算法,前提是序列已經有序
還有深度優先和廣度有限搜尋;及使用剪枝,a*,hash表等方法對其進行優化。
三、當然,對於基本資料結構,棧,佇列,樹。都有一些基本的操作
例如,棧的pop,push,佇列的取隊頭,如隊;以及這些資料結構的具體實現,使用連續的儲存空間(陣列),還是使用鍊錶,兩種具體儲存方法下操作方式的具體實現也不一樣。
還有樹的操作,如先序遍歷,中序遍歷,後續遍歷。
當然,這些只是一些基本的針對資料結構的演算法。
而基本演算法的思想應該有:
1、回溯
2、遞迴
3、貪心
4、動態規劃
5、分治
有些資料結構教材沒有涉及基礎演算法,lz可以另外找一些基礎演算法書看一下。有興趣的可以上oj做題,呵呵。演算法真的要學起來那是挺費勁。
資料結構 分類
二元組資料結構分為 邏輯結構,儲存結構 物理 邏輯結構也可以分為兩種 分類一 樹形結構,線性結構,集合結構,圖形結構 分類二 線性結構,非線性結構 重要!示例 tree k,r k r 示例分析 tree k,r 表示一組資料 k k值表達形式 r r值的表達形式 tree 指的是資料名稱,k,r是...
資料結構的分類
資料的邏輯結構可分為兩大類 一類是線性結構,一類是非線性結構。線性結構中有且僅有乙個開始結點和乙個終端結點,並且所有的結點最多只能有乙個前驅和乙個後繼。線性表是典型的線性結構。非線性結構的乙個結點可能有多個前驅和後繼。如果乙個結點最多只有乙個前驅,而可以有多個後繼,這種結構就是樹。樹是最重要的非線性...
資料結構邏輯分類
參考內容 資料結構的分類 線性結構有 線性表 棧 佇列 線性表分為順序表和煉表 線性結構的特點如下 其中棧和佇列是個寬泛的概念,在不同的語言中有不同的實現方式,如c stl庫中的queue容器就是用來實現佇列的。線性表的定義如下 僅通過他們之間的相對位置來確定他們之間的相互關係的線性結構 順序表的特...