原创 數據結構與算法--圖的遍歷方式(深度遍歷和廣度遍歷)

數據結構與算法--圖的遍歷方式(深度遍歷和廣度遍歷)1. 圖的深度優先遍歷2. 圖的廣度優先遍歷 1. 圖的深度優先遍歷 深度優先搜索算法:數據結構是棧。通過將頂點存入棧中,沿着路徑探索頂點,存在新的相鄰頂點就去訪問 鄰接矩陣深度

原创 iOS底層探索 -- KVC 底層原理分析

iOS底層探索 -- KVC 底層原理分析前言1.   KVC(Key-Value Coding)初探2.   KVC 深入2.1  訪問對象屬性2.2  訪問集合屬性2.3  集合運算符2.4  訪問非對象屬性2.5  屬性驗證

原创 數據結構與算法--線索化二叉樹

數據結構與算法--線索化二叉樹前言1. 線索化二叉樹初探2. 線索化二叉樹實現 前言   前一篇簡單的對二叉樹進行初探,簡單的瞭解了一下二叉樹的一些概念,和二叉樹的 順序存儲 和 鏈式存儲 以及二叉樹的一些簡單操作,和二叉樹的幾種

原创 iOS底層探索 -- KVO探索

iOS底層探索 -- KVO探索前言1. KVO初探1.1 context 的作用1.2 自動觀察1.3 多個因素影響1.4 可變數組的觀察2. KVO 原理分析3. 自定義 KVO 思路4. KVO 函數式編程5. FBKVO

原创 數據結構與算法 -- 哈夫曼樹&哈夫曼編碼

數據結構與算法 -- 哈夫曼樹&哈夫曼編碼前言1. 哈夫曼樹2. 哈夫曼編碼3. 哈夫曼樹 & 哈夫曼編碼 的實現 前言   上一篇瞭解學習了線索化二叉樹的一些知識,這一篇,對哈夫曼樹和哈夫曼編碼來做一個瞭解學習。 首先,我們先看

原创 數據結構與算法--二叉樹的順序存儲&鏈式存儲

數據結構與算法--二叉樹的順序存儲&鏈式存儲1. 樹的相關概念2. 二叉樹的順序存儲2.1 順序二叉樹的基本操作2.2 二叉樹的遍歷3. 二叉樹的鏈式存儲3.1 鏈式二叉樹的基本操作3.2 鏈式二叉樹的遍歷 1. 樹的相關概念 根

原创 iOS -- 經典面試題

iOS -- 經典面試題1. `Runtime` 是什麼?2. 方法的本質是什麼?SEL是什麼?IMP是什麼?兩者之間的關係是什麼?3. 能否向編譯後的得到的類中增加實例變量?能否向運行時創建的類添加實例變量?4. isKindO

原创 數據結構與算法 -- 字符串匹配 KMP算法

數據結構與算法 -- 字符串匹配 KMP算法字符串匹配KMP算法 原理next 數組的推導KMP 算法代碼實現KMP 算法優化KMP 算法優化實現 字符串匹配 題目: 給一個僅包含小寫字母的字符串主串 S = abcacabdc

原创 數據結構與算法--字符匹配 & 字符去重

數據結構與算法--字符匹配 & 字符去重1. 去除重複字母2. 字符串匹配2.1  BF算法-爆發匹配算法2.2  RK算法 1. 去除重複字母 題目 給你一個僅包含小寫字母的字符串,請你去除字符串中重複的字母,使得每個字母只

原创 數據結構與算法--幾個算法題目

數據結構與算法--幾個常見算法題目1. 括號匹配檢驗2. 十進制轉8進制3. 楊輝三角4.爬樓梯問題5. 每日溫度問題6. 字符串編碼問題 1. 括號匹配檢驗 題目:   假設表達式中允許包含兩種括號:圓括號與方括號,其嵌套順序隨

原创 數據結構與算法之如何基於順序存儲和鏈式存儲設計一個隊列

數據結構與算法之如何基於順序存儲和鏈式存儲設計一個隊列前言1.  隊列的結構2.  順序存儲隊列的設計2.1  順序存儲隊列的設計2.2  順序存儲隊列的基本操作3.  鏈式存儲隊列的設計3.1  鏈式存儲隊列的設計3.2  鏈式

原创 數據結構與算法--雙向鏈表和雙向循環鏈表

雙向鏈表和雙向循環鏈表1. 雙向鏈表1.1  概念1.2  雙向鏈接的表結構1.2  雙向鏈接的創建和打印1.3  雙向鏈接的插入1.4  雙向鏈接的刪除 1>  刪除指定位置上的結點 2>  刪除指定指定的元素1.5  雙向鏈接

原创 iOS 分類的加載

iOS 分類的加載前言1.  Runtime 面試題2.  類和非懶加載類的加載2.1  類和非懶加載類分析2.2  非懶加載類的加載2.3  懶加載類的加載3.  分類 Category 的加載3.1 clang 初探 分類 C

原创 數據結構與算法之線性表單向循環鏈表

數據結構與算法之線性表單向循環鏈表1.  單向循環鏈表概念2. 單向循環鏈表的操作2.1. 單向循環鏈表的創建2.2. 單向循環鏈表的遍歷2.3. 單向循環鏈表的插入2.4. 單向循環鏈表的刪除2.5. 單向循環鏈表的簡單查詢

原创 iOS OC 對象原理探索三

iOS OC 對象原理探索三前言:1. `isa`指針結構2. `isa`的初始化3. `isa`關聯對象和類4. `isa`的走位5. 對象的本質6. `union`聯合體補充1. 什麼是聯合體2.聯合體的好處 前言: 前面分析