讀世界是數字的(4)

2022-05-07 07:15:06 字數 1087 閱讀 4396

能讓計算機完成各種任務的指令序列通稱軟體

關於演算法

演算法的關鍵屬性是效率,即對於給定的資料量,它的處理速度怎麼樣?花費的時間大概是多少?書上介紹了以下3種演算法:

即計算時間與資料量成正比,當對某些資料的基本操作是相同的,那麼工作量(計算時間)會與資料量同比例增加

對於線性演算法的改進,如果在最開始資料是按照一定的規則排列的,那麼就可以大大節省時間。

例如若有1000個資料,那麼為了找到其中任何乙個大概找10次左右(因為2的10次方等於1024;若有2000個資料(比1000翻了一倍),大概找11次左右(因為2的11次方的2048);若有1,000,000個資料,則大概找20次;

好處很顯然,資料量的大幅增長只會帶來工作量的微小增長。

2的冪次方

10的冪次方

2的10次方=1024

10的3次方=1000

2的20次方=1,048,576

10的6次方=1,000,000

2的30次方=1,073,741,824

10的9次方=1,000,000,000

2的40次方=1,099,511,627,776

10的12次方=1,000,000,000,000

2的50次方=1,125,899,906,842,624

10的15次方=1,000,000,000,000,000

選擇排序:每個資料都去與未和自己比較的資料進行比較,共需要n(n+1)/2,但是由這個式子可以發現工作量的增長比資料量的增長要快得多(特別是當資料很大時)

快速排序:由二分法可以知道,任意乙個數值被找到需要logn次(以2為底數),所以對於n個資料而言,就需要nlogn次。雖然當n很大時,這個數也不小,但是相比於選擇排序而言就好很多了。

關於程式設計與程式語言

與具體的計算機有關,對於不同的處理器,就算執行同一件事,但是寫出來的語句也是不同的,這是很麻煩的。

從上圖可明顯得知,儘管編譯的結果並不相同,但是對於程式設計師而言寫的句子是一樣的(例如就是z=x+y)

讀《世界是數字的》有感

軟體 計算機是一種通用機器,能夠執行任何計算,雖然只有很少的指令,但執行指令的速度卻很快,而且能夠很大程度上控制自己的執行。能夠讓計算機完成某種任務的指令序列通稱軟體。現代系統越來越多地採用通用硬體 如處理器 記憶體,以及與外界相連線的介面 同時靠軟體來實現特定的行為。演算法 1.設計 分析和實現高...

讀《世界是數字的》有感

摘抄 1 勒芙蕾絲伯爵夫人常被認為是世界上第一位程式設計師,程式語言ada是以她的名字而命名的。赫爾曼.何樂禮設計並製造了製表機。電子數字積分計算機 eniac 成為全電子計算機的最重要標誌。第一台真正實現了儲存程式的計算機於1949年在英國面試,稱為edsac。早期的電子計算機使用電子管作為基本計...

讀世界是數字的(1)

作者首先總述了計算機的基本構造以及各部分的主要特點與發展歷程,還特別說明了計算的功能構成是基本不變的,而不斷在變的是實現其的方法 即物理結構 在開篇還提到了乙個概念,即資訊的通用數字表示,以前完全沒留意資訊被儲存下來的方式,對於以往而言,資訊主要是被專門針對這類資訊的物理辦法進行記錄,而如今資訊都用...