随笔分类 -  数据结构

数据结构的学习笔记
摘要:二叉树 C++风格二叉树节点 struct TreeNode { int val; TreeNode *left; TreeNode *right; TreeNode(int x) : val(x), left(NULL), right(NULL) {} }; 二叉树的前序遍历 前序遍历(VLR), 阅读全文
posted @ 2020-09-14 11:31 JoyooO 阅读(174) 评论(0) 推荐(0)
摘要:队列是典型的 FIFO 数据结构。插入(insert)操作也称作入队(enqueue),新元素始终被添加在队列的末尾。 删除(delete)操作也被称为出队(dequeue)。 移除第一个元素。 C++实现循环队列加深理解 #include <iostream> #include <vector> 阅读全文
posted @ 2020-09-11 12:01 JoyooO 阅读(170) 评论(0) 推荐(0)
摘要:单链表中的每个结点不仅包含值,还包含链接到下一个结点的引用字段。通过这种方式,单链表将所有结点按顺序组织起来。与数组相比,查找索引需要从头开始遍历性能糟糕,但是插入删除元素则有优势。 C++实现单向链表加深理解 #include <iostream> #include <set> #include 阅读全文
posted @ 2020-09-11 09:19 JoyooO 阅读(184) 评论(0) 推荐(0)
摘要:String C++标准库中string类以类型的形式对字符串进行封装,且包含了字符序列的处理操作。 string数据结构可以看作char类型的数组,在Cpp中可以看作vector 常用方法 std::reverse(iterator,iterator) 反转字符串,范围由形参给出 c_str() 阅读全文
posted @ 2020-09-03 17:07 JoyooO 阅读(225) 评论(0) 推荐(0)
摘要:set set<typename> obj; set基于RB-Tree实现,RB-Tree具有自动排序的功能,插入元素时,它会自动调整二叉树的排列,把元素放到适当的位置,以保证每个子树根节点键值大于左子树所有节点的键值,小于右子树所有节点的键值;另外,还得保证根节点左子树的高度与右子树高度相等。 m 阅读全文
posted @ 2020-09-02 08:27 JoyooO