日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

《编程珠玑(第2版•修订版)》—第2章2.5节原理

發布時間:2025/3/19 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 《编程珠玑(第2版•修订版)》—第2章2.5节原理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本節書摘來自異步社區《編程珠璣(第2版?修訂版)》一書中的第2章2.5節原理,作者【美】Jon Bentley,更多章節內容可以訪問云棲社區“異步社區”公眾號查看。

2.5 原理
排序。排序最顯而易見的用處是產生有序的輸出,該輸出既可以是系統規范要求的一部分,也可以是另一個程序(也許是一個二分搜索程序)的前期準備工作。但是在變位詞問題中,排序并不是關注的焦點。排序是為了將相等的元素(本例中為標識)集中到一起。這些標識產生了另外一個排序應用:將單詞內字母排序使得同一個變位詞類中的單詞具有標準型。通過給每條記錄添加一個額外的鍵,并按照這些鍵進行排序,排序函數可以用于重新排列磁盤文件中的數據。在第三部分,我們還會多次回顧排序這個主題。

二分搜索。該算法在有序表中查找元素時極為高效,并且可用于內存排序或磁盤排序。唯一的缺陷就是整個表必須已知并且事先排好序。基于該簡單算法的思想在許多應用程序中都有應用。

標識。當使用等價關系來定義類時,定義一種標識使得類中的每一項都具有相同的標識,而該類以外的其他項則沒有該標識,這是很有用的。對單詞中的字母排序可以產生一個用于變位詞類的標識。其他標識通過排序給出。然后使用一個計數來代表重復的次數(于是標識“mississippi”可以寫成“i4m1p2s4”或將1省略——“i4mp2s4”)。也可以使用一個包含26個整數的數組來標識每個字母出現的次數。標識的其他應用包括:美國聯邦調查局用來索引指紋的方法,以及用來識別讀音相同但是拼寫不同的名字的Soundex啟發式方法:

Knuth⑧在其The Art of Computer Programming, Volume 3: Sorting and Sear ching⑨一書的第6章描述了Soundex方法。

問題定義。第1章指出確定用戶的真實需求是程序設計的根本。本章的中心思想是問題定義的下一步:使用哪些基本操作來解決問題?在本章的每個例子中,啊哈!靈機一動都定義了一個新的基本操作使得問題得到簡化。

問題解決者的觀點。優秀程序員都有點懶:他們坐下來并等待靈機一動的出現而不急于使用最開始的想法編程。當然,這必須通過在適當的時候開始寫代碼來加以平衡。真正的技能就在于對這個適當時候的把握,這只能來源于解決問題和反思答案所獲得的經驗。

總結

以上是生活随笔為你收集整理的《编程珠玑(第2版•修订版)》—第2章2.5节原理的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。