摘要: 这是我第一篇对高级数据结构的描述,如有不准确的地方还请指出,谢谢~ 调这颗树的代码调的头皮发麻,和线段树根本不是一个难度的。 首先简单地介绍一下这棵平衡BST中的另类 这是一棵没有任何平衡因子的BST,它依靠均摊来达到O(logn)的插入查询和删除复杂度,常数比较大 而且,它的具有其他BST所不具备 阅读全文
posted @ 2018-07-17 23:53 静听风吟。 阅读(389) 评论(0) 推荐(0) 编辑
摘要: 首先直接贴出来例程: 然后我们注意几个地方就好了 第一个地方是对于结构体的处理,要记住<运算符重载函数,因为set中的元素是默认有序的 第二个需要注意的地方是find返回的是迭代器,一定不能直接cout或者直接用 然后补充几个特殊的成员函数: 返回的是pair,而且pair里放的也是迭代器 其实上一 阅读全文
posted @ 2018-07-17 17:02 静听风吟。 阅读(361) 评论(0) 推荐(0) 编辑
摘要: 有很多题都有对栈的考察,这里引出一个最最基础的模型,其他复杂的问题可以在这个模型的基础之上完成 与其说是模型,不如说是给了一种解决问题的套路 至于元素顺序入栈之后,出栈结果的统计问题,这里可以参考卡特兰数的应用,后面会用到 这里的例题是这样的,给定一个括号字符串,判断该字符串是否合法 由于括号字符串 阅读全文
posted @ 2018-07-17 16:32 静听风吟。 阅读(318) 评论(0) 推荐(0) 编辑
摘要: 在这里对图的存储和遍历进行一个规范,为以后更复杂的数据结构学习打下基础 首先是邻接矩阵的形式,适合于存稠密图,如果是全连接图就再合适不过了 一个二维数组就可以搞定了,如果是bool值那么就是不带权值的 a[i][j]=w表示i->j这条边的权值为w,反之亦然 建图操作是很显然的 接下来是一个DFS: 阅读全文
posted @ 2018-07-17 16:09 静听风吟。 阅读(652) 评论(0) 推荐(0) 编辑
摘要: 使用链表的存储方式是完全可以存树的 但是为了方便处理树的一些特性,我们将链表的存储结构进行了适当的修改 针对着一般二叉树,完全二叉树,我们也有着不同的存储策略 首先我们介绍对于一般二叉树而言的数组存储和指针存储,完全二叉树将在后面提到 对于数组存储而言,我们定义这样一个结构 使用t数组来存树中每一个 阅读全文
posted @ 2018-07-17 15:24 静听风吟。 阅读(301) 评论(0) 推荐(0) 编辑
摘要: 在这里给出数组实现单链表和双链表以及指针实现单链表和双链表的例子,为以后更为复杂的数据结构实现打基础。 首先介绍一下使用数组来实现链表的原理 node数组是用来保存所有的节点的取值的,这里面的节点是程序生成的流水节点,其真正有没有出现在链表中是没有任何关系的 cur用来指示当前在node数组中的哪一 阅读全文
posted @ 2018-07-17 10:08 静听风吟。 阅读(2277) 评论(0) 推荐(0) 编辑