
数据结构与算法
Onedean
Stay Hungry,Stay Foolish
展开
-
【数据结构与算法重学笔记】1、如何抓住重点,系统高效地学习数据结构与算法?
序、 感谢lh老哥提供的极客时间账号。之前一直觉得数据结构与算法基础不是很牢固,打算利用寒假时间,跟着极客时间王争老师的——“数据结构与算法之美”课程重新学一遍数据结构和算法,故作该笔记以备总结。一、什么是数据结构?什么是算法1、定义:数据结构:一组数据的存储结构 举个例子:图书馆里图书十分多,为了方便管理,图书管理员一般会将书籍分门别类进行“...原创 2019-01-21 11:29:42 · 353 阅读 · 0 评论 -
【数据结构与算法重学笔记】2、时间/空间复杂度
我们都知道,数据结构和算法本身解决的是“快”和“省”的问题,即如何让代码运行得更快,如何让代码更省存储空间。所以,执行效率是算法一个非常重要的考量指标。那如何来衡量你编写的算法代码的执行效率呢?这里就要用到我们今天要讲的内容:时间、空间复杂度分析。 一、时间复杂度1、大 O 复杂度表示法看代码: int cal(int n) { int sum = 0;...原创 2019-01-22 16:32:05 · 761 阅读 · 0 评论 -
【数据结构与算法重学笔记】3、数组
一、数组如何实现随机访问1、数组的定义数组(Array)是一种线性表数据结构,用一组连续的内存空间,来存储一组具有相同类型的数据a、线性表(Linear List)线性表就是数据排成像一条线一样的结构,线性表上的每个数据最多只有前后两个方向。常见的线性表有:数组、链表、队列、栈(见下图)与之相对的是非线性表即数据之间不是简单的前后关系,常见的有二叉树、堆、图(见下图...原创 2019-01-22 17:38:44 · 171 阅读 · 0 评论 -
从递归看栈
很早之前就看过《码农翻身》中的一篇文章----“递归那点事儿”。一直很迷恋计算机底层操作系统的故事,却也深感计算机世界的庞大。在前前后后看了这篇文章不下十遍之后,也在不断地积累之后,现在写这篇文章,作为对栈的进一步理解的总结。一:伊始,暗潮涌动:问题:计算5的阶乘;(我使用javascript)function test(n){ if(n == 1){ ...翻译 2019-04-11 12:36:08 · 501 阅读 · 0 评论