![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构与算法之美
越奋斗,越幸运
当你遇到困难时,你会如何去面对, 这将会决定你的人生最终能够走多远!
展开
-
6. 二叉树基础(上):什么样的二叉树适合用数组来存储?
二叉树1. 树的概念2. 二叉树2.1. 简介2.2. 二叉树的存储2.3. 二叉树的遍历1. 树的概念高度:从下往上度量,比如我们要度量第 10 层楼的高度、第13 层楼的高度, 起点都是地面,树这种数据结构的高度也是一样,从最底层开始计数,并且计数的起点是0深度:是从上往下度量的,比如水中鱼的深度,是从水平面开始度量的。所以,树这种数据结构的深度也是类似的,从根结点开始度量,并且计数起...原创 2020-04-30 16:43:52 · 217 阅读 · 0 评论 -
5. 链表
1. 链表(上):如何实现LRU缓存淘汰算法?1.1. 常见的缓存策略先进先出策略 FIFO(First In,First Out)最少使用策略 LFU(Least Frequently Used)最近最少使用策略 LRU(Least Recently Used)1.2. 常用的链表结构单链表循环链表约瑟夫问题双向链表1.3. 链表和数组性能对比数...原创 2019-11-11 17:28:44 · 122 阅读 · 0 评论 -
4. 数组:为什么很多编程语言中数组都从0开始编号?
1. 数组的定义数组Array是一种 线性表 数据结构。 它用一组 连续的内存空间,来存储一组具有 相同类型的数据。 数组支持随机访问,根据下标随机访问的时间复杂度为 O(1)。2. 低效的“插入”和“删除”假设数组的长度为n, 讲一个数据插入到数组的第k个位置最优时间复杂度 O(1)最坏时间复杂度 O(n)平均时间复杂度 O(n)如果数组中存储的数据没有任何规律, ...原创 2019-11-11 17:24:32 · 118 阅读 · 0 评论 -
3. 复杂度分析
1. 复杂度分析(上):如何分析、统计算法的执行效率和资源消耗1.1. 大 O 复杂度表示法代码执行时间随数据规模增长的变化趋势,也叫渐进时间复杂度,简称时间复杂度T(n) = O(f(n))T(n): 代码执行的时间n: 数据规模的大小f(n): 每行代码执行的次数总和O: 表示代码的执行时间 T(n) 与 f(n) 表达式成正比1.2. 时间复杂度分...原创 2019-11-11 17:20:55 · 155 阅读 · 0 评论 -
数据结构与算法学习书单
1. 入门趣味书大话数据结构算法图解2. 特定编程语言的教科书数据结构与算法分析:C语言描述数据结构与算法分析:Python语言描述数据结构与算法分析:Java语言描述3. 面试必刷宝典剑指offer编程珠玑编程之美4. 闲暇阅读算法帝国数学之美算法之美5. 算法实现github链接https://github.com/wangzheng0822/...原创 2019-11-08 19:28:40 · 107 阅读 · 0 评论 -
Python 内置类型性能分析
1. Python列表类型不同操作的时间效率from timeit import Timerdef test1(): li = [] for i in range(10000): li.append(i)def test2(): li = [] for i in range(10000): li += [i]def...原创 2019-11-08 19:25:22 · 89 阅读 · 0 评论 -
0. 数据结构算法之美图库
原创 2019-11-08 19:13:11 · 109 阅读 · 0 评论