数据结构和算法
傻鸟一族
这个作者很懒,什么都没留下…
展开
-
04 | 数组
在大部分编程语言中,数组都是从0开始编号。为什么数组要从0开始编号,而不是1? 数组如何实现随机(任意)访问 什么是数组?数组(Array)就是一种线性表数据结构。它用一组连续的内存空间,来存储一组具有相同类型的数据。 第一线性表(Liner List)。 顾名思义,线性表就是数据排成像一条线一样的结构。每个线性表上的数据最多只有前和后两个方向。其实除了数组,链表、队列、栈等也是线性表结构。 而与它相对立的概念是非线性表,比如二叉树、堆、图等。之所以叫非线性,是因为,在非线性表中,数据之间并不是简单的前后原创 2020-05-12 00:45:11 · 245 阅读 · 0 评论 -
03 | 复杂性分析
一、如何分析、统计算法的执行效率和资源消耗 时间、空间复杂度分析——来衡量算法代码的执行效率。 为什么需要复杂度分析? 事后统计法(把代码跑一遍,通过统计、监控,就能得到算法执行的时间和占用的内存大小)有非常大的局限性: 1、测试结果非常依赖测试环境 不同的处理器运行一样的代码,比如同一段代码i9处理器肯定比i3处理器执行速度快;但是不一样的代码在不同的机器运行结果可能截然不同,比如原本在一台机器上a代码比b代码运行速度快,但是换到另外一台机器上,结果可能就相反了。 2、测试结果受数据规模的影响大 对同一个原创 2020-05-11 22:04:39 · 719 阅读 · 0 评论 -
02 | 如何抓住重点,系统高效地学习数据结构与算法?
** 什么是数据结构?什么是算法?** ** 从广义上讲,数据结构就是指一组数据的存储结构。算法就是操作数据的一组方法。 从狭义上讲,是指某些著名的数据结构和算法,比如队列、栈、堆、二分查找、动态规划等。 数据结构和算法是相辅相成的。数据结构是为算法服务的,算法要作用在特定的数据结构之上。 复杂度分析 想要学习数据结构与算法,首先要掌握一个数据结构与算法中最重要的概念——复杂度分析;它几乎占了数据...原创 2020-05-05 16:32:34 · 190 阅读 · 0 评论 -
01 | 为什么学习数据结构和算法
1.直接好处是能够有写出性能更优的代码。 2.算法,是一种解决问题的思路和方法,有机会应用到生活和事业的其他方面。 3.长期来看,大脑思考能力是个人最重要的核心竞争力,而算法是为数不多的能够有效训练大脑思考能力的途径之一。 开始系统学习数据结构与算法!!! 参考文档:极客时间-数据结构与算法之美 (01为什么学习数据结构和算法)https://time.geekbang.org/column/ar...原创 2020-05-05 15:55:59 · 109 阅读 · 0 评论