算法和数据结构
BraveWangDev
11年开发经验、全栈工程师;2023年更新计划已确定,希望能与大家共同进步;
展开
-
数据结构与算法-复杂度分析
一,前言数据结构和算法主要用来解决如何让代码运行的更快,更省存储空间更快:代码的执行效率是考核算法的一个重要指标更省:假定在有限的资源条件下(如内存空间),如何实现代码逻辑更快指的是时间上,而更省指的则是空间上学习一段数据结构和算法就会发现一切都是在用空间换时间,或用时间换空间这就需要掌握复杂度分析的方法复杂度分析是整个算法和数据结构的精髓复杂度分析分为时间复杂度分析和空间复杂度分...原创 2019-04-15 23:50:55 · 400 阅读 · 0 评论 -
数据结构与算法-最好、最坏、平均、均摊时间复杂度
一,前言上一篇介绍了复杂度分析但是,同一段代码在不同的输入情况下,复杂度量级有可能是不一样的例如:在大小为n的数组中查找一个数值,那么这个数有可能出现在数组的第1个位置,也有可能出现在数组的最后一个位置他们时间复杂度分别是O(1)和O(n)所以需要引入另外4个时间复杂度分析: 最好情况时间复杂度 最坏情况时间复杂度 平均情况时间复杂度 均摊时间复杂度 其中,最好,最坏情...原创 2019-04-16 18:15:24 · 1280 阅读 · 0 评论 -
数据结构与算法-数组
一,前言前面介绍了复杂度分析这篇开始正式介绍数据结构和算法,首先介绍数组不管你正在使用的是哪种编程语言,数组都是其最基础的数据结构二,数组Array数组是一种线性表数据结构,使用一组连续的内存空间来存储相同类型的数据从上边可以看出数组有两个特点:1,线性表数据结构2,使用连续的内存空间存储相同类型的数据数组的优势:因为数组具有上述两个数据结构特点,所以数组天然支持"随机访...原创 2019-04-18 10:57:03 · 612 阅读 · 0 评论 -
数据结构与算法-链表
一,前言上一篇介绍了常用数据结构-数组除了数组,还有一种常用的数据结构叫做链表这一篇就来介绍一下链表二,链表对比数组来研究链表数组需要一段连续的内存空间来存储链表不需要连续的内存空间,仅通过“指针”将一块一块零散的内存串连在一起分析:如果我们有50M的的可用内存空间,那么对于数组,由于这50M空间在内存中未必是连续的所以申请50M大小的数组未必能成功,但如果使用链表数据结...原创 2019-04-19 18:21:32 · 322 阅读 · 0 评论