随笔分类 -  数据结构与算法

摘要:第一章 综述 数学知识复习: 指数、对数、级数、模运算、证明方法(证明数据结构分析几轮最常用方法:归纳法、反证法) 递归简论 C++知识:类、细节、模板、矩阵。 阅读全文
posted @ 2018-10-17 11:44 Andy_Yin 阅读(631) 评论(0) 推荐(0)
摘要:很好的算法入门书籍,基于Python讲解,好理解。 算法的时间复杂度一般有几种,O(1),O(log N),O(N),O(N*log N),O(N2),O(N!),O(2N)。 时间复杂度指的不是算法运行的时间,而是操作次数,表达的是随着规模N增大,操作次数增长的速度。而且时间复杂度是忽略常数的,在 阅读全文
posted @ 2018-07-23 12:02 Andy_Yin 阅读(388) 评论(0) 推荐(0)
摘要:参考资料: c++程序栈 栈与递归 程序调用时堆栈变化 关于堆栈讲解 阅读全文
posted @ 2018-07-18 22:46 Andy_Yin 阅读(223) 评论(0) 推荐(0)
摘要:一、什么是红黑树??? 红黑树首先是一棵搜索二叉树,树中的每一个结点的颜色不是黑色就是红色。它的特性如下: 1、根节点是黑色 2、每一个结点不是黑色就是红色 3、不能有连续的两个红色结点 4、从任意一个结点出发,到后代中空指针的路径上,均包含相同数量的黑色结点。 例如: 二、为什么要有红黑树??? 阅读全文
posted @ 2018-06-23 23:54 Andy_Yin 阅读(2553) 评论(0) 推荐(0)
摘要:计算Hash冲突的概率 虽然已经很多可以选择的Hash函数,但创建一个好的Hash函数仍然是一个活跃的研究领域。一些Hash函数是快的,一些是慢的,一些Hash值均匀地分布在值域上,一些不是。对于我们的目的,让我们假设这个Hash函数是非常好的。它的Hash值均匀地分布在值域上。 在这种情况下,对于 阅读全文
posted @ 2018-06-23 23:53 Andy_Yin 阅读(5325) 评论(1) 推荐(0)
摘要:先贴个头文件的设计: 参考链接: https://www.cnblogs.com/dodng/p/4367791.html https://blog.csdn.net/ds1130071727/article/details/78528626 https://blog.csdn.net/blade2 阅读全文
posted @ 2018-06-22 17:16 Andy_Yin 阅读(2338) 评论(0) 推荐(0)
摘要:Hash算法中要解决一个碰撞冲突的办法,后文中描述了几种解决方法。下面代码中用的是链式地址法,就是用链表和数组实现HASH表。 Hash碰撞冲突 Hash函数的作用就是保证对象返回唯一hash值,但当两个对象计算值一样时,这就发生了碰撞冲突。如下将介绍如何处理冲突,当然其前提是一致性hash。 1. 阅读全文
posted @ 2018-06-20 14:34 Andy_Yin 阅读(2418) 评论(0) 推荐(0)
摘要:l链表可以实现多种数据结构,消息队列,环形缓存等。下面先介绍消息队列的实现,后面介绍ring buf的实现。 阅读全文
posted @ 2018-06-20 14:33 Andy_Yin 阅读(1007) 评论(0) 推荐(0)