當前位置:成語大全網 - 新華字典 - iOS 開發中都會使用哪些算法

iOS 開發中都會使用哪些算法

很少需要自己來寫算法和數據結構,基本的算法和數據結構都已經集成到庫中了。但需要妳了解各種算法和數據結構的不同,以便選擇適當的庫。比如各種排序、查找、字典、數組,是經常用到的。

假如連最基本的算法和數據結構的知識都沒有,就算是寫壹些界面邏輯代碼,也經常有性能問題。舉個例子,有壹個很大的消息列表按照時間排序,而有新的 20 條消息來了,有些人完全無意識地,將 20 條消息壹條條依次在壹個大數組前面逐個插入,這樣就會引起數組的重復移動。這樣的代碼初看起來邏輯也正確,但就會很慢。

壹個稍微嚴肅壹點的 iOS 程序,經常用到三種語言,Swift 編寫看得見的界面,C++ 編寫看不見的底層,而 Objective-C 用於界面和底層之間的相互調用穿透。

但很多人理解的 iOS 開發,就僅僅只是界面、動畫之類的看得見的東西。在界面之下有很多看不見的更深層的東西。這些就需要算法和數據結構知識。比如需要寫壹個繪圖軟件,照相磨皮軟件,就涉及到圖形算法。壹個錄音聲音處理,就需要處理聲音的波形。壹個電子書軟件就涉及到排版。壹個類似 Flipboard 的內容聚合軟件就涉及網頁的抽取。

當然上述的很多算法和數據結構不需要自己來寫,但假如完全沒有這方面的知識,就算有庫用了,但很可能連怎麽使用也不會。比如最基本的圖形學知識,矩陣都不知道,OpenGL 接口是不會用的。