数据结构
幻世至上
while(life==true)Learning;
Leanring?happiness:sadness;
展开
-
【数据结构】快速实现平衡二叉树(可观察每一次插入后的结果)
为了算法考试需要,我在实验室苦熬了一天,终于从零开始学会了平衡二叉树,不过只有二叉树的插入,没有删除操作,以后如果有时间就补上。最后会附上完整代码,我在里面写了一段输出函数,顺便会给大家两组测试数据,可以观察平衡二叉树每一次插入的运行结果呦,我尽量让它看起来对称,不过数值的位数不同就没办法了,所以各位凑合着看吧OwOstruct node{ int data; int he...原创 2018-03-15 12:16:15 · 469 阅读 · 0 评论 -
【数据结构】简单并查集的实现
并查集是一个用来管理元素分组情况的数据结构,当你需要查询两个元素是否属于同一集合,那么并查集是一个很好的选择。而且由于最小生成树中的Kruskal算法也用到了并查集,所以学习一下还是很有帮助的。并查集初始化将每个点都赋值为它自身 void init(){ for(int i=0;i<N;i++) par[i]=i;} 查找元素所在集合在此处...原创 2018-03-17 10:54:47 · 452 阅读 · 1 评论 -
【内存错误】注意指针的安全隐患
C/C++支持通过指针这一工具来最大程度上提供编程的灵活性,这也是C++备受争议的一个问题。指针固然很方便,但是错误使用所带来的后果是不堪设想的。我们初学代码时应该都有过突然输出的数据和自己所设想的完全不一致并且数据很莫名其妙的时候,这就说明内存处理出现了问题。内存错误一般分为以下4种:1.内存泄漏内存泄漏就是你分配了一块内存空间后,却没有释放,从而导致它一直在随着程序一起运行。有...原创 2018-04-09 17:52:08 · 647 阅读 · 0 评论 -
【数据结构】BIT树状数组详解——【单点更新+区间查询】【区间更新+单点查询】【区间更新+区间查询】【多维树状数组】
前言我觉得这篇文章应该算是介绍的比较全面了,将树状数组的常用情况和推广都收集学习了一下,希望对大家有所帮助。树状数组介绍树状数组是由线段树修改而来,通过去掉不必要的节点从而简化空间结构,且更便于实现及使用。 举个例子,如果我们要计算3-7区间的和,线段树可以直接通过(3-4)+(5-6)+(7)解决,而BIT则通过(1-4)+(5-6)+(7)-(1-2)-(3)解决,即需要计算...原创 2018-05-18 15:27:14 · 1218 阅读 · 0 评论