首页
AI Coding
数据标注
NEW
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
Zanier
掘友等级
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
3
文章 3
沸点 0
赞
3
返回
|
搜索文章
最新
热门
从零开始的数据结构与算法(十):哈夫曼树
在学习编程的过程中,一定遇到过类似以下的情景:记录一个班的同学的成绩,通过分数输出评价。 可以看到 70+ 和 80+ 的人数占大多数。在这种情况下,对于以上代码,前两层 if 命中率低,产生大量的多余判断。一般情况下没有问题,但是如果数据量很大,并且每层的 if 判断比较耗时…
从零开始的数据结构与算法(九):线索二叉树
在前面的章节中介绍了二叉树的结构及三种遍历方式的实现。二叉树的遍历本质上是将一个复杂的非线性型结构转换为线性结构的过程,使每个节点都有前驱和后继(首尾节点除外)。对于树结构而言,查找它的子结点是很方便的,而查找其前驱与后继(在某种遍历顺序中)只能通过遍历实现。为了更加容易地找到…
从零开始的数据结构与算法(八):树
树是一种非线性结构,数据元素之间存在着一对多的层次关系,把它叫做“树”是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。 在树结构中,每个元素称为结点,每个结点有零个或多个子结点。其前驱结点称为父结点或双亲结点,其后继称为子结点。其中: 没有子结点的结点称为叶结点或…
# 从零开始的数据结构与算法(七):队列
队列和栈一样是一种重要的数据结构。不同于栈“先进后出”的规则,它正如其名,是一种“先进先出(FIFO-First In First Out)”的结构。 在生活中,我们买东西排队就是典型的队列结构:先入队的人先买先出列,后入队的人需等待前面的数据元素出队。 在开发中,执行多任务、…
# 从零开始的数据结构与算法(六):栈
栈(stack)又名堆栈,它是一种运算受限的线性表。限定仅在表尾进行插入和删除操作的线性表。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或退栈,它是把栈顶元…
从零开始的数据结构与算法(五):双向链表与双向循环链表
在前两节中介绍了单向链表的定义与基本的使用。相对于线性存储而言,链表具有更加灵活的使用,可以不受空间大小的约束。但单链表在使用中只能通过 next 指针进行单向的遍历,一路到底不能回头,在面临大数据的处理时会造成时间的浪费。所以,在此基础上产生了双向链表。 双向链表顾名思义,就…
从零开始的数据结构与算法(四):单向循环链表
当链表的最后一个节点的指针指向了首节点时,而不是 NULL 时,那么就构成了一个循环链表。 单向循环链表也是单向链表,定义相同,只是在逻辑上产生了环的结构。 在前一节使用普通的单链表时,创建了一个头结点作为辅助节点。而循环链表由于循环的结构所以不需要创建辅助的节点,但也可以根据…
从零开始的数据结构与算法(三):线性表
线性结构是一个有序数据元素集合的逻辑结构,数据元素之间存在着一对一的线性关系。 常见的线性结构有栈、队列、数组、字符串等。 其他获取元素、获取长度、判断为空等方法与上述方法类似,比较简单不再赘述。 链式存储的特点是内存在物理层面上是不连续的,数据元素之间需要通过指针进行连接,构…
从零开始的数据结构与算法(二):算法与复杂度
算法是对特定问题求解步骤的一种描述,是指令的有限序列。其中每一条指令表示一个或多个操作。算法与数据结构是相辅相成的。解决某一类特定问题的算法可以选定不同的数据结构,而且选择恰当与否直接影响算法的效率。 有穷性:一个算法必须在有穷步之后结束,即必须在有限时间内完成。 确定性:算法…
从零开始的数据结构与算法(一):数据与结构
Pascal 之父 Nicklaus Wirth 曾经凭借一个公式获得了图灵奖(计算机领域的诺贝尔奖)。 在日常的工作中,数据结构与算法好像与自身相距甚远,即使没有高深的结构也能完成开发工作。而在大多数的企业面试中,算法却显得尤为重要。 数据结构与算法是每一个开发者的必修课,它…
下一页
个人成就
文章被点赞
4
文章被阅读
6,365
掘力值
183
关注了
12
关注者
3
收藏集
1
关注标签
12
加入于
2019-09-14