一,排序演算法
1.氣泡排序;
2.選擇排序;
3.插入排序:對於未排序的資料,在已排序列中從後向前找相應的位置插入;
4.二分插入排序:插入排序的優化,通過二分法減少遍歷時間;
5.希爾排序:先將要排序的序列分為若干子串行,在序列內分別直接插入排序,待整個分列基本有序時,在對全體
記錄進行直接插入排序(較不穩定);
6.堆排序;
7.快速排序:以乙個元素作為「基準」左右移動其他的;
二,搜尋演算法
1.順序搜素/線性搜尋;
2.二分搜尋/查詢;
一,線性表(將儲存方式分為順序表和煉表)
1,線性表的基本運算時堆線性表的操作,常見包括:求長度,置空表,遍歷,查詢,修改,刪除,插入,排序等。
2.順序表對應陣列
特點:元素按邏輯順序儲存在一塊連續的儲存空間中,是一種隨機訪問結構。
二,棧 佇列和串
1.棧:是限定在尾部進行插入和操作的線性表(後進先出);
2.佇列:受限的有序列表。只允許一端插入,隊尾入為入隊,隊頭處為出隊。
基本運算:出隊,入隊,取對頭,置空隊;
3.串:由字元構成的有序數列;
基本運算:賦值,串連線,求長度,插入,修復,刪除,比較串大小。
資料結構和常用演算法
人們進行程式設計時通常關注兩個重要問題,一是如何將待處理的資料儲存到計算機記憶體中,即資料表示 二是設計演算法操作這些資料,即資料處理。資料表示的本質是資料結構設計,資料處理的本質是演算法設計。pascal之父,瑞士著名計算機科學家沃思 niklaus wirth 教授曾提出 演算法 資料結構 程式...
常用資料結構和排序演算法
在程式設計中,為了處理方便,把具有相同型別的若干 變數按有序的形式組織起來。這些按序排列的同類資料元素的集合稱為 陣列。在c語言中,陣列屬於構造資料型別。乙個陣列可以分解為多個陣列元素,這些陣列元素可以是基本資料型別或是構造型別。因此按陣列元素的型別不同,陣列又可分為數值陣列 字元陣列 指標陣列 結...
資料結構常用演算法
將一整數序列中的所有負數轉移到所有正數之前 using system using system.collections.generic using system.linq using system.text namespace csharptest low while low high a low ...