随笔分类 - 数据结构
摘要:肯取势者可为人先,能谋势者必有所成 跳表说明 1.跳表是一种随机化的数据结构,可以被看做二叉树的一个变种,它在性能上和红黑树、AVL 树不相上下,但是跳表的原理非常简单,目前在 Redis 和 LevelDB 中都有用到。 2.跳表的期望空间复杂度为 O(n),跳表的查询,插入和删除操作的期望时间复
阅读全文
摘要:分析 + 栈:后进先出 + 队列:先进先出 要使用两个栈实现队列(先进先出),主要思路是 1.插入一个元素:直接将元素插入stack1即可。 2.删除一个元素:当stack2不为空时 ,直接弹出栈顶元素,当stack2为空时,将stack1元素逐个弹出并压入stack2,然后再弹出栈顶元素。 具体看
阅读全文
摘要:遍历规则 + 前序遍历:根结点 左子树 右子树 + 中序遍历:左子树 根结点 右子树 + 后序遍历:左子树 右子树 根结点 + 层次遍历:只需按层次遍历即可 注: 1.前序、中序、后序属于深度优先遍历(使用递归较为方便),层次遍历为广度优先遍历(一般实现需要借助其他数据结构的支撑,如下面的队列等)。
阅读全文
摘要:```C++ include using namespace std; template class Queue { public: Queue(); bool isEmpty() const; bool isFull()const; void enQueue(const T&); T deQueu
阅读全文
摘要:```C++ include //栈的数组实现 using namespace std; define MAXSIZE 10; template class Stack { public: //默认构造函数 Stack(); Stack(size_t maxElements); Stack(T da
阅读全文

浙公网安备 33010602011771号