内射老阿姨1区2区3区4区_久久精品人人做人人爽电影蜜月_久久国产精品亚洲77777_99精品又大又爽又粗少妇毛片

ios開發(fā)數(shù)據(jù)結(jié)構(gòu),ios開發(fā)數(shù)據(jù)結(jié)構(gòu)和算法

iOS開發(fā)之一數(shù)據(jù)結(jié)構(gòu)與算法

1、 數(shù)據(jù)結(jié)構(gòu) 其實(shí)就是數(shù)據(jù)和結(jié)構(gòu),就是一堆數(shù)據(jù)在內(nèi)存中以什么樣的形式存在。

云浮ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書未來市場(chǎng)廣闊!成為創(chuàng)新互聯(lián)公司的ssl證書銷售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:13518219792(備注:SSL證書合作)期待與您的合作!

2、 數(shù)據(jù) 在內(nèi)存中的結(jié)構(gòu)分為 邏輯結(jié)構(gòu) 和 物理結(jié)構(gòu) 。

數(shù)據(jù)在內(nèi)存中有4種:集合結(jié)構(gòu), 線性結(jié)構(gòu),樹型結(jié)構(gòu),圖形結(jié)構(gòu)。

iOS開發(fā)被問到 的LRU淘汰策略(鏈表 哈希表)

LRU 是優(yōu)先緩存最近使用過的資源, 淘汰最近沒有使用過的資源。根據(jù)最近使用原則, 這些臨時(shí)資源會(huì)直接排在緩存隊(duì)列的最前面, 然后才能被被慢慢淘汰掉

在LRU算法中,使用了一種有趣的數(shù)據(jù)結(jié)構(gòu),這種數(shù)據(jù)結(jié)構(gòu)叫作哈希鏈表。

什么是哈希表

哈希表(又叫散列表)是根據(jù)關(guān)鍵碼值(Key value)而直接進(jìn)行訪問的 數(shù)據(jù)結(jié)構(gòu) 。也就是說,它通過把關(guān)鍵碼值映射到表中一個(gè)位置來訪問記錄,以加快查找的速度。這個(gè)映射函數(shù)叫做 散列函數(shù) ,存放記錄的 數(shù)組 叫做 散列表 。

什么是鏈表

N個(gè)節(jié)點(diǎn)離散存儲(chǔ)

彼此通過指針相連

每個(gè)節(jié)點(diǎn)只有一個(gè)前驅(qū)節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)只有一個(gè)后續(xù)節(jié)點(diǎn),首節(jié)點(diǎn)沒有前驅(qū)節(jié)點(diǎn),尾節(jié)點(diǎn)沒有后續(xù)節(jié)點(diǎn)

明白了定義我們?cè)賮砝斫庖幌?/p>

在哈希鏈表中,這些Key-Value是被一個(gè)鏈條串了起來。每一個(gè)Key-Value都具有它的前驅(qū)Key-Value、后繼Key-Value,就像雙向鏈表中的節(jié)點(diǎn)一樣

1.假設(shè)使用哈希鏈表來緩存圖片信息,目前緩存了4個(gè)圖片,這4個(gè)圖片是按照被訪問的時(shí)間順序依次從鏈表右端插入的

5.后來用戶又訪問圖片6,圖片6在緩存里沒有,需要插入哈希鏈表中。假設(shè)這時(shí)緩存容量已經(jīng)達(dá)到上限,必須先刪除最近最少被訪問的數(shù)據(jù),那么位于哈希鏈表最左端的圖片1就會(huì)被刪除,然后再把圖片6插入最右端的位置。

這就是整個(gè)LRU的淘汰策略

LRU 在應(yīng)對(duì)批量臨時(shí)資源時(shí)候性能會(huì)很差, 比如進(jìn)入頁面, 大量請(qǐng)求圖片然后直接退出根據(jù)最近使用原則, 這些臨時(shí)資源會(huì)直接排在緩存隊(duì)列的最前面, 然后才能被被慢慢淘汰掉.

LFU 是優(yōu)先緩存使用最多的資源, 每個(gè)資源需要記錄使用次數(shù), 相對(duì)于 LRU 的實(shí)現(xiàn)會(huì)更為復(fù)雜一些.

在后續(xù)的緩存改進(jìn)中, 我們可以使用 LRU-K 算法, 以解決 LRU 算法“緩存污染”的問題, 提升緩存的命中率以及緩存邏輯的性能.

iOS開發(fā)之基礎(chǔ)篇(5)—— NSNumber、NSValue

Xcode 8.2.1

前文說過,NSArray和NSDictionary只能存入OC對(duì)象。不信我們可以做個(gè)試驗(yàn):將一個(gè)int類型或者是NSInteger放入NSMutableArray里面。(NSInteger和int的差別:NSInteger會(huì)根據(jù)系統(tǒng)的位數(shù)32or64,自動(dòng)選擇int的最大數(shù)值int or long,這樣我們就不用考慮設(shè)備是32位還是64位系統(tǒng))

這樣是會(huì)編譯出錯(cuò)的,存入不成功。

那怎么辦呢?所以,我們需要將int或者NSInteger類型轉(zhuǎn)換成NSNumber(OC對(duì)象),然后再存入NSArray中。

NSNumber可以轉(zhuǎn)換一系列的基礎(chǔ)數(shù)字類型(char、int、float、long、bool等等),還提供了一個(gè)compare方法來將NSNumber對(duì)象進(jìn)行數(shù)值排序。

我們來看看NSNumber有哪些要掌握的知識(shí)點(diǎn):

運(yùn)行結(jié)果如下:

之所以把NSNumber和NSValue放到同一篇,是因?yàn)镹SNumber是NSValue的子類,NSValue除了能夠包裝NSNumber能夠包裝的基礎(chǔ)數(shù)字類型外,還能夠包裝系統(tǒng)框架提供的CGRect/CGPoint/CGSize等數(shù)據(jù)結(jié)構(gòu),也可以是自己定義的struct。最終也能放入數(shù)組。

同樣,我們來看看它的應(yīng)用:

運(yùn)行結(jié)果:

iOS面試題12-數(shù)據(jù)結(jié)構(gòu)算法篇

《 2018 iOS面試題系列 》

? ? 這里沒有圖啊,大家可以抽象一下。

? ? 數(shù)據(jù)結(jié)構(gòu)的存儲(chǔ)一般常用的有兩種 順序存儲(chǔ)結(jié)構(gòu) 和 鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)

? ? 發(fā)揮想象力啊。 舉個(gè)列子。數(shù)組。1-2-3-4-5-6-7-8-9-10。這個(gè)就是一個(gè)順序存儲(chǔ)結(jié)構(gòu) ,存儲(chǔ)是按順序的 舉例說明啊。 棧。做開發(fā)的都熟悉。棧是先進(jìn)后出 ,后進(jìn)先出的形式 對(duì)不對(duì) ?!他的你可以這樣理解

? ? hello world 在棧里面從棧底到棧頂?shù)倪壿嬕来螢?h-e-l-l-o-w-o-r-l-d 這就是順序存儲(chǔ) 再比如 隊(duì)列 ,隊(duì)列是先進(jìn)先出的對(duì)吧,從頭到尾 h-e-l-l-o-w-o-r-l-d 就是這樣排對(duì)的

? ? 再次發(fā)揮想象力 這個(gè)稍微復(fù)雜一點(diǎn) 這個(gè)圖片我一直弄好 ,回頭找美工問問,再貼上 例如 還是一個(gè)數(shù)組

? ? 1-2-3-4-5-6-7-8-9-10 鏈?zhǔn)酱鎯?chǔ)就不一樣了 1(地址)-2(地址)-7(地址)-4(地址)-5(地址)-9(地址)-8(地址)-3(地址)-6(地址)-10(地址)。每個(gè)數(shù)字后面跟著一個(gè)地址 而且存儲(chǔ)形式不再是順序 ,也就說順序亂了,1(地址) 1后面跟著的這個(gè)地址指向的是2,2后面的地址指向的是3,3后面的地址指向是誰你應(yīng)該清楚了吧。他執(zhí)行的時(shí)候是 1(地址)-2(地址)-3(地址)-4(地址)-5(地址)-6(地址)-7(地址)-8(地址)-9(地址)-10(地址),但是存儲(chǔ)的時(shí)候就是完全隨機(jī)的。明白了?!

? ? 還是舉例子。理解最重要。不要去死記硬背 哪些什么。定義啊。邏輯啊。理解才是最重要滴

二叉樹有五種表現(xiàn)形式

? ?二叉樹可以轉(zhuǎn)換成森林 樹也可以轉(zhuǎn)換成二叉樹。這里就不介紹了 你做項(xiàng)目絕對(duì)用不到

? ?數(shù)據(jù)結(jié)構(gòu)大致介紹這么多吧。理解為主, 別死記,死記沒什么用

從現(xiàn)在開始介紹算法啊

? ?二叉樹這個(gè)比較麻煩 還有平衡二叉樹 有點(diǎn)繞 如果不懂二叉樹這一塊 你是百分之二百看不懂的

原文鏈接

名稱欄目:ios開發(fā)數(shù)據(jù)結(jié)構(gòu),ios開發(fā)數(shù)據(jù)結(jié)構(gòu)和算法
網(wǎng)頁地址:http://m.rwnh.cn/article4/dsdhpoe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供服務(wù)器托管、搜索引擎優(yōu)化、網(wǎng)站排名虛擬主機(jī)、網(wǎng)站維護(hù)商城網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

搜索引擎優(yōu)化
图木舒克市| 普安县| 改则县| 井冈山市| 上高县| 都江堰市| 苍南县| 基隆市| 永靖县| 海原县| 东安县| 琼海市| 南京市| 台东市| 祥云县| 扬州市| 东至县| 辽阳县| 册亨县| 比如县| 名山县| 怀宁县| 临沧市| 鄂伦春自治旗| 沭阳县| 徐汇区| 固镇县| 岳阳市| 昆明市| 唐河县| 监利县| 浪卡子县| 西华县| 湖南省| 油尖旺区| 寻甸| 葫芦岛市| 霍林郭勒市| 共和县| 平度市| 德令哈市|