菜鳥學演算法 一 概述

2021-10-22 04:57:06 字數 702 閱讀 6884

本系列純屬作為學習筆記記錄~~

程式由什麼組成?

資料結構與演算法

資料結構是什麼?

資料結構是指相互之間存在一種或多種特定關係的資料元素的集合。

資料結構分為哪兩類?

線性結構和非線性結構

線性結構:

1.作為最常見的資料結構,其特點是資料元素之間存在一對一的線性關係

2.線性結構有兩種不同的儲存結構,順序儲存結構和鏈式儲存結構

3.順序儲存的線性表稱為順序表,順序表中的儲存元素是連續的

4.鏈式儲存的線性表稱為鍊錶,鍊錶中的儲存元素不一定是連續的,元素節點中存放資料元素以及相鄰元素的位址資訊

5.線性結構常見的有:陣列、佇列、鍊錶和棧

非線性結構:

二維陣列、多維陣列、廣義表、樹結構、圖結構

順序儲存結構:是採用一組連續的儲存單元存放所有的資料元素

優點:儲存效率高

缺點:不便於資料修改

鏈式儲存結構:是用一組任意的儲存單元儲存線性表的資料元素(這組儲存單元可以是連續的,也可以是不連續的)

優點:便於資料修改

缺點:儲存空間的利用率低,不能對元素進行隨機訪問

演算法筆記一 概述

分析乙個演算法,主要是考量它的執行的時間代價和空間代價,而在評估時間代價時,還要分析下最好情況下的代價和最壞情況下的代價。最好情況,用來分析該演算法的最佳應用場景 最壞情況,用來確定該演算法的最長執行時間的上限 某些演算法可能會更加的關注於平均情況,當平均情況趨向於較好情況時,是有意義的,這裡就需要...

分類演算法(一) 概述

機器學習分類演算法有很多,lr svm 貝葉斯 隨機森林 fasttext knn dl gbdt等,相關變種更是數不勝數。個人認為svm還是比較有效的方法,可以作為基準,當然這些方法都各有優劣。不同分類演算法的優缺點 介紹了svm lr 貝葉斯 決策樹等分類方法的優缺點。相關專題 包括對不同分類方...

排序演算法 一 概述

排序是程式開發中一種非常常見的操作,對一組任意的資料元素 或記錄 經過排序操作後,就可以把他們變成一組按關鍵字排序的有序佇列。對於排序演算法從以下幾點去衡量演算法的優劣 時間複雜度,所謂時間複雜度就是將一組數從無序到有序所花費的時間,通常使用乙個量級去衡量,比如o n 或者 o n n 空間複雜度,...