![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
《数据结构》C++代码
文章平均质量分 65
icedream61
一只不知天高地厚的小菜鸟,来闯闯天下~
展开
-
《数据结构》C++代码 散列表
散列表,又名哈希表、Hash表。这是一个神奇的数据结构,它的复杂度是常数级别,由于我非常喜欢这个数据结构,在此简单介绍一下。 (没有学过Hash表的同学,我推荐一个教程:http://www.cnblogs.com/jiewei915/archive/2010/08/09/1796042.html)让我们回忆一下之前学过的数据结构,列个表,与Hash表做个比较(表中c表示常数):原创 2014-11-29 18:46:54 · 833 阅读 · 0 评论 -
《数据结构》C++代码 BFS与DFS
BFS,广度优先搜索,一层一层去遍历图,故称广度优先。实现方式:队列。 DFS,深度优先搜索,撞墙才回头的遍历,称为深度优先。实现方式:递归(栈)。 这两种遍历方式,是访问图的基本方式。如果拿树做对比的话,BFS对应层次遍历,DFS则对应三种基本遍历方法(先序、中序、后序);遍历树起点只有一个根,而图则需要以每个没被遍历过的点作为起点,方能遍历完全。原创 2014-12-02 09:07:43 · 563 阅读 · 0 评论 -
《数据结构》C++代码 邻接表与邻接矩阵
上一篇“BFS与DFS”写完,突然意识到这个可能偏离了“数据结构”的主题,所以回来介绍一下图的存储:邻接表和邻接矩阵。 存图有两种方式,邻接矩阵严格说就是一个bool型的二维数组,map[i][j]表示i到j有没有单向边,邻接表则是对1~N中每个点都拉出一个链表来,链表E[i]中存的每个点j都表示i到j有一条单向边。 这两种方式各有利弊,在稀疏图中,邻接表更好原创 2014-12-02 10:14:23 · 2616 阅读 · 0 评论 -
《数据结构》C++代码 Splay
Splay,伸展树。之所以先写这个课内并不怎么常用的数据结构,是因为本人非常喜欢Splay,我觉得这是非常有美感且灵活的一种平衡树。在此先声明,我的伸展树写法来源于CLJ大牛,基础好的同学可以去他的博客中看看他的Splay实现模板,我的实现仅仅借鉴了CLJ大神的一点实现技巧而已。我的博文《心中的大牛博客列表》中有CLJ大神的博客链接。 还有很多同学可能并不了解Splay的思想原创 2014-11-27 17:09:09 · 552 阅读 · 0 评论 -
《数据结构》C++代码 前言
现在大二正在上《数据结构》课,课内的书上代码实现很喜欢用类、变量名字很长,而且常常实现太繁琐,初学者看起来很不舒服。因此写点自己数据结构的代码,大家可以借鉴一下,顺便自己总结一下热热手。 本系列文章,每篇首先简单介绍下,然后给出两种版本的代码(有的可能只给出一种):1、清爽版:直接实现的代码,常常用数组等直接实现,代码比较短。2、类实现版:用类实现的代码,封装性好,比原创 2014-11-27 17:07:50 · 336 阅读 · 0 评论 -
《数据结构》C++代码 线性表
线性表,分数组和链表两种(官方名称记得是叫顺序存储和链式存储)。代码里天天用,简单写写。 首先是数组,分静态、动态两种,没什么可说的,注意动态的要手动释放内存就好了。 其次是链表,依旧分静态、动态。课内一般都是讲的是动态实现,但其实还有一种静态实现方法。动态实现剩内存,但是静态实现剩时间,考试的时候当然是要视情况而定的。但是我估计,课内考试应该不会去卡这原创 2014-11-27 19:19:38 · 1579 阅读 · 0 评论