这个100天的挑战本来是我自己的计划,现在将学习过程分享给大家。最新的文章更新会在我的公众号 人魔七七 首发,大家可以关注更新,并在后期还会有这个系列的电子书下载方便大家学习阅读。
APP 的名字叫“啊!算法” ;App Store下载地址:App Store地址
这个系列的加强版App要来了。一直想找一种方式来呈现他,今天终于实现了。
这里不只包含 Stack,Queue,Heap,Tree,LinkedList,Graph,Hash Table等常见的数据结构的实现。
而且包含常见的算法实现,这些算法有来自于LeetCode,看过算法的人应该都知道,LeetCode一直很少有iOS实现的方式,特别是OC语言为主的实现。
这里不只有文章介绍而且有代码可以预览查看,并且还有可交互动画展示。
由于微信公众号对markdown的数学公式显示有点问题,因此内容有些会同步到简书或者掘金。
很多技术越往底层大致皆相似,皆是数据结构与算法的缩影。这就是为什么一线互联网公司面试时候特别注重这方面的考察,国外公司甚至很多轮面试都是这方面考察。每篇文章除了有文字描述,有的还有图片以及动画方便大家理解,还会有源代码Demo,尽量用通俗易懂的方式让大家明白。
每周会更新一到两篇数据结构与算法方面的东西,大家也可以跟着做,监督自己进步。
- 为什么要学习算法呢
- 数学公式复习
- 常用复杂度函数公式O(?)
- 栈的特性
- 动画描述
- 栈最常见的场景及算法
- 复杂度
- 代码实现
- 思路描述
- 代码实现
- 复杂度估算
- 步骤示意图
- 思路描述
- 代码实现
- 流程图
- 代码实现
- 思路描述
- GitHubDemo
- 题目思路描述
- 灵感示意图
- 主要代码实现
- 代码思路描述
- GitHubDemo
- 题目描述
- 灵感示意图
- 主要代码实现
- 代码思路描述
- GitHubDemo
- 题目描述
- 灵感示意图
- 思路
- 过程图
- 主要代码实现
- 代码思路描述
- GitHubDemo
- 前言
- iOS中数组是怎么优化的呢?
- 结合数组API来分析
- 推荐阅读
- GitHubDemo地址
- 队列的特性
- 有几个注意的地方。
- 主要代码讲解
- 总结
- GitHubDemo地址
- 双端队列的特性
- 优化思路
- 主要代码实现以及讲解
- GitHubDemo地址
- 前言
- 树的一些应用场景
- 一张图来描述Binary Tree
- Binary Tree的几个常见类型
- 和Binary Tree有关的一些公式
- 二叉树的存储方式
- 二叉树的周游算法
- 练习周游算法的技巧 1
- 练习周游算法的技巧 2
- 练习周游算法的技巧 3
- 延伸
- 二叉树的构建
- 二叉树的插入,查找
- 二叉树的前中后序遍历
- GitHubDemo地址
- 题目大意
- 灵感思路
- 主要代码
- 代码思路
- GitHubDemo地址
- 题目大意
- 主要代码
- 灵感思路
- GitHubDemo地址
- 题目大意
- 主要代码
- 灵感思路
- GitHubDemo地址
- 题目大意
- 解题思路
- 主要代码
- 代码思路
- 题目大意
- 解题思路
- 主要代码
- 代码思路
- 复杂度分析
- 题目大意
- 解题思路
- 主要代码
- 代码思路
- 复杂度分析
- 题目大意
- 解题思路
- 主要代码
- 代码思路
- 复杂度分析