數據結構寫演算法
發布時間: 2025-09-28 22:03:21
Ⅰ 數據結構 演算法設計題 有一個學生成績線性表,用順序存儲方式進行存儲,請編寫一個時間復雜度較小的演算法,
如果是從頭到尾,見到一個滿足於60分~70分之間的學生成績,就刪除,顯然時間復雜度大。
可以這樣去做:
1、用一個指示器i,從前往後找出第一個滿足於60分~70分之間的學生成績;
2、再用另一個指示器j,從尾部開始,由後向前找出第一個不滿足於60分~70分之間的學生成績;3、將i,j所指元素交換一下,直到兩指示器相撞,刪除結束,刪除的操作,利用表長來實現!也就是所有60分~70分之間的學生成績都在表的後部。
Ⅱ 數據結構有哪些基本演算法
一、排序演算法 1、有簡單排序(包括冒泡排序、插入排序、選擇排序) 2、快速排序,很常見的 3、堆排序, 4、歸並排序,最穩定的,即沒有太差的情況 二、搜索演算法 最基礎的有二分搜索演算法,最常見的搜索演算法,前提是序列已經有序 還有深度優先和廣度有限搜索;及使用剪枝,A*,hash表等方法對其進行優化。 三、當然,對於基本數據結構,棧,隊列,樹。都有一些基本的操作 例如,棧的pop,push,隊列的取隊頭,如隊;以及這些數據結構的具體實現,使用連續的存儲空間(數組),還是使用鏈表,兩種具體存儲方法下操作方式的具體實現也不一樣。 還有樹的操作,如先序遍歷,中序遍歷,後續遍歷。 當然,這些只是一些基本的針對數據結構的演算法。 而基本演算法的思想應該有:1、回溯2、遞歸3、貪心4、動態規劃5、分治有些數據結構教材沒有涉及基礎演算法,lz可以另外找一些基礎演算法書看一下。有興趣的可以上oj做題,呵呵。演算法真的要學起來那是挺費勁。
熱點內容
