資料結構與演算法學習

2022-09-20 07:30:16 字數 394 閱讀 1491

我想重新學習一下資料結構與演算法,打好基礎。

to measure is to know. 我們用演算法複雜度t(n)來表示演算法的效率,效能。

t(n)的取值:所有問題規模為n的問題例項中,將他們的計算成本進行總體的比較,取出最壞情況下的值。

有幾點需要catch,

1. 演算法執行的時間,會根據程式語言,作業系統,硬體等不斷變化,因此計算機前輩們將執行的時間對映到圖靈機或者ram(random access machine)模型執行的次數,這樣就可以用計算次數來表示演算法執行的時間了。

2. 演算法分析的兩個主要任務 = 正確性(不變性×單調性) + 複雜度

演算法:1. 排序

快排歸併排序

2. 搜尋

二分查詢

fibonacci查詢

資料結構與演算法學習筆記

演算法基礎篇 第一章 演算法概述 首先了解一下基本的概念 1.1 什麼是演算法呢?從字面意義上理解,演算法就是用於計算的方法,用這種方法達到預期的結果。通俗的講,演算法可以理解為乙個完整的解題步驟,由一些基本的運算和規定的運算順序組成。通過這樣的解題步驟可以解決特定的問題。演算法可以抽象出5個特徵 ...

資料結構與演算法學習二

1 用js中object物件模擬集合set的資料結構 set集合中的資料結構 s s 即集合中的鍵 值相同。故,可令object物件中的鍵 值相同,來模擬set集合及其中的方法,如下 用js中object模擬實現集合set資料結構 es6中有set類,避免混淆這裡用set2 var set2 fun...

資料結構與演算法 學習引入

找到丟失的數字 現在你手上有n 1個數字,這些數字的範圍是 1,n 且這n 1個數字中沒有重複的數字。有上述條件可知 你手上的數字缺了乙個。請編寫一段高效的找到缺失數字的 此題是一道比較老的資料結構與演算法考題,首先,在解答該題時,要進行一些題目的分析,題目分析我們主要做些什麼呢?要弄清楚,這n 1...