基本資料型別(primitive data type):
整型,浮點型,布林(bool),和字元型別
特點:不能一起他型別來定義的基本資料型別,或者成為標亮資料型別(scalar data type)
結構資料型別 (structure data type):
字串(string),陣列(array),指標(pointer),列表(list),檔案(file)等。
特點:結構資料型別也稱為虛擬資料型別,是一種必基本資料型別更高一級的資料型別
抽象資料型別(abstract data type,adt)
堆疊(stack)
特點:我們可以將一種資料型別看成是一種值的集合,以及在這些值上所進行的運算及其所代表的屬性組成的集合。抽象資料型別比結構資料型別更高階,是指乙個資料模型以及定義在此數學模型上的一組數**算或操作。也就是說,adt在計算機中用於表示一種資訊隱藏的程式設計思想以及資訊之間的某一種特定的關係模式。
計算機的主要工作就是吧資料經過某一種運算處理轉換為使用的資訊。
演算法:
資料結構+演算法 = 可執行程式
資料結構與演算法是程式設計實踐中最基本的內涵。程式能否快速而高效的完成預定的任務,取決於是夠選對了資料結構,而程式是夠能清楚而爭取的吧問題解決取決於演算法
在韋氏詞典中演算法的定義為:在有限的步驟內解決資料問題的程式。運算在計算機領域中我們可以吧演算法定義為:為了解決某縣工作或猴哥問題,所需要的有限數量的機械性或重複性指令與計算步驟。
演算法的條件:
演算法的特性內容與說明
輸入(input)
0個或者多個輸入資料,這些輸入必須有清楚的描述或定義
輸出(out)
至少會有乙個輸出結果,不可以沒有輸出結果
明確性(definiteness)
每乙個指令或步驟必須是簡潔明確的
有限性(finiteness)
在有限步驟後一定會結束,不會產生無限迴圈
有效性(effectiveness)
步驟清楚且可行,能讓使用者用紙筆計算而求出答案
程式語言:目前演算法也能夠直接以可讀性高的高階程式語言來表示
以下是用python語言編寫pow()函式,計算輸入兩個數x,y的,x的y方的值
def pow(x,y):
p=1for i in range(1,y+1):
p *= x
return p
print(pow(2,3))
print(list(range(1,5))) #代表從1到5(不包含5)
print(list(range(1,7,2)))#代表從1到7,間隔2(不包含5)
print(list(range(5))) #代表從0到5(不包含5)
range()函式
演算法和過程的區別
過程不一定要滿足有限性的要求,如作業系統或及其上執行的過程,除非宕機,否則用羊仔等待迴圈中,這就違反了演算法五大條件的有限性。
演算法效能分析
對於乙個程式(或演算法)效能的評估,經常是從時間與空間兩個維度來進行考慮,時間方面是指程式的執行時間,稱為時間複雜度(time complexity)。空間方面則是此程式在計算機記憶體所佔的空間大小,稱為空間複雜度(space cpmplexity)。
空間複雜度:
所謂空間複雜度,就是估算乙個演算法在執行過程中臨時占用內寸空間的大小,是一種淺近表示法。而這些需要的記憶體通常可以氛圍固定記憶體空間,(包括基本程式**,常數,變數等),變動空間記憶體(隨執行時而改變大小的使用空間,例如引用型別變數)。由於計算機硬體發展的日新月異及涉及到的計算機不同,因此存粹從程式(或演算法)的效能角度來看,應該以演算法的執行時間為主要評估與分析的依據。
時間複雜度:
我們可以就某個演算法的執行步驟計數來衡量執行時間的標準,也是一種淺近表示法
python基礎之爬蟲基礎理論
在初步了解到正規表示式之後,今天我們學習一下關於爬蟲的理論及最基本的爬去!使用爬蟲的 語句,通常要用到如下幾個模組 from urllib import request from urllib.request import urlopen from urllib.parse import urlen...
Python 硬體底層基礎理論
計算機硬體 運算器,控制器 cpu 儲存器記憶體 基於電工作,訪問速度快,但是不能永久儲存.類似人的記憶功能 外存 基於磁工作,訪問速度慢,可以永久儲存 類似人的筆記本功能 輸入裝置 鍵盤,滑鼠 輸出裝置 顯示器,印表機 操作硬體就是如上所述,裡面涉及到程式設計的就是三大核心硬體 cpu 記憶體 硬...
python基礎理論 python學習筆記2
了解以下知識點 1.list 2.tuple 3.條件判斷 4.迴圈 5.dict 6.set 1.list 有序的集合 賦值 classmates michael bob tracy 獲取長度 len classmates 輸出某個特定元素 classmates 0 輸出結果為michael cl...