针对 可以使用深度优先和广度优先算法, 可以使用 Dijkstra(迪杰斯特拉算法) : 在 中查找最短路径 注意 : 该算法只适用于 , 不适用于 负权边 的情况 思路: 1. 找出距离起点最近的节点 2. 对于该节点邻居, 检查是否有前往他们的更短路径, 如果有就更新开销 3. 重复以上两步, ...
分类:
编程语言 时间:
2019-06-13 00:57:49
阅读次数:
124
链表分类 单向链表 双向链表 优势: 删除某个节点更加高效, 可以快速找到前驱节点 可以方便的在某个节点前插入元素 循环链表 当要处理的数据具有环形结构的时候, 适合循环链表. 如约瑟夫环问题 双向循环链表 数组的缺点是大小固定, 一旦声明长度就要占用连续的内存空间, 当空间不够用时更换更大的空间, ...
分类:
编程语言 时间:
2019-06-09 16:57:38
阅读次数:
114
队列和栈相反 队列: 先进先出(FIFO) 栈: 后进先出(LIFO) 类型 循环队列 Disruptor高性能队列 并发队列(线程安全) 阻塞队列 顺序队列 使用python的list结构来模拟, 在右端插入的话时间复杂度是 , 在左端弹出的话是 方式一: 每次出队操作都要移动数组 方式二 每次出 ...
分类:
编程语言 时间:
2019-06-07 22:48:27
阅读次数:
149
栈可以分为 顺序栈: 数组实现 链式栈: 链表实现 空间复杂度 栈的空间复杂度: 有一个n个元素的栈, 在入栈和出栈过程中, 只需要存储一个临时变量存储空间, 所以空间复杂度是O(1) 并不是说栈有n个元素, 空间复杂度就是O(n), 而是指除了原本的空间外, 算法需要的额外空间 栈要满足 的特性, ...
分类:
编程语言 时间:
2019-06-07 22:47:28
阅读次数:
126
最近一直在研究sphinx的工作机制,在[搜索引擎]Sphinx的介绍和原理探索简单地介绍了其工作原理之后,还有很多问题没有弄懂,比如底层的数据结构和算法,于是更进一步地从数据结构层面了解其工作原理。在网上搜了很多资料,发现没有很多介绍这方面的文章,后来找到了一本书,《这就是搜索引擎》,拜读了本书的 ...
分类:
编程语言 时间:
2019-05-28 22:42:50
阅读次数:
143
这篇我们说说堆这种数据结构,其实到这里就暂时把java的数据结构告一段落,感觉说的也差不多了,各种常见的数据结构都说到了,其实还有一种数据结构是“图”,然而暂时对图没啥兴趣,等有兴趣的再说;还有排序算法,emmm....有时间再看看吧! 其实从写数据结构开始到现在让我最大的感触就是:新手刚开始还是不 ...
分类:
编程语言 时间:
2019-05-27 20:42:53
阅读次数:
149
STL(Standard Template Library,标准模版库)是C++语?言标准中的重要组成部分。STL以模板类和模版函数的形式为程序员提供了了各种数据结构和算法的实现,程序员吐过能够充分的利利?用STL,可以在代码空间、执?行行时间和编码效率上获得极?大的好处。STL?大致可以分为三?大 ...
分类:
其他好文 时间:
2019-05-23 23:17:12
阅读次数:
130
1、链表 2、栈、队列、堆 3、贪心算法 4、递归回溯和分治 5、二叉树和图 6、二分查找和二叉查找树 7、哈希表和字符串 8、搜索 9、动态规划 ...
分类:
编程语言 时间:
2019-05-14 13:04:03
阅读次数:
170
MySQL索引-背后的数据结构和算法 摘要 MySQL支持诸多存储引擎,当时各种存储引擎对索引的支持也是不相同的,所以MySQL是支持多种索引类型的,BTree索引,哈希索引,全文索引,这里专注与BTree索引 第一部分数据结构和算法Mysql索引的数理基础 第二部分结合MyISAM和Inno引擎讨 ...
分类:
数据库 时间:
2019-05-11 17:45:47
阅读次数:
156
这一篇我们来看看红黑树,首先说一下我啃红黑树的一点想法,刚开始的时候比较蒙,what?这到底是什么鬼啊?还有这种操作?有好久的时间我都缓不过来,直到我玩了两把王者之后回头一看,好像有点儿意思,所以有的时候碰到一个问题困扰了很久可以先让自己的头脑放松一下,哈哈! 不瞎扯咳,开始今天的正题; 前提:看红 ...
分类:
编程语言 时间:
2019-05-10 23:19:18
阅读次数:
159