随笔分类 -  数据结构

摘要:1.实现 #include <iostream> #include <vector> using namespace std; template<class T> void merge(vector<T>& a, int left, int mid, int right) { vector<T> t 阅读全文
posted @ 2020-04-08 11:52 强威 阅读(151) 评论(0) 推荐(0) 编辑
摘要:1.哈希表 2.优先队列实现 3.堆排序(面试中堆的问题经常出现) 4.二叉搜索树的特征,查找和插入的时间复杂度 5.为什么说二叉搜索树有时会不稳定,如何改进?(可能会退化为链表;改进为平衡二叉查找树) 6.AVL树大概的调整过程;(左旋右旋) 7.红黑树的特征以及大概的调整过程 8.海量数据排序 阅读全文
posted @ 2020-02-20 18:42 强威 阅读(147) 评论(0) 推荐(0) 编辑
摘要:构建二叉树: 增加节点: 删除节点: 查询节点: 1.先序遍历 /* 递归版前序遍历 */ void Tree::preOrderWithRecursive(ListNode* root) { if (root == nullptr)return; std::cout << root->val << 阅读全文
posted @ 2020-02-12 22:41 强威 阅读(130) 评论(0) 推荐(0) 编辑
摘要:桶排序是将待排序集合中处于同一个值域的元素存入同一个桶中,也就是根据元素值特性将集合拆分为多个区域,则拆分后形成的多个桶,从值域上看是处于有序状态的。对每个桶中元素进行排序,则所有桶中元素构成的集合是已排序的。 快速排序是将集合拆分为两个值域,这里称为两个桶,再分别对两个桶进行排序,最终完成排序。桶 阅读全文
posted @ 2020-02-11 15:24 强威 阅读(226) 评论(0) 推荐(0) 编辑
摘要:堆排序代码: #pragma once #include <vector> class HeapSort { public: void sort(std::vector<int>& seq) { // 构建大顶堆 for (int i = seq.size() / 2 - 1; i >= 0; -- 阅读全文
posted @ 2020-02-11 14:36 强威 阅读(193) 评论(0) 推荐(0) 编辑
摘要:快速排序 正如它的名字一样,是一种效率较高的排序方法,面试中也经常出现,正常情况下时间复杂度为 O(n * logn)。但是快排是一种不稳定排序算法,排序过程中会打乱元素顺序。 快排的核心是partition算法,partition算法步骤: 选取一个元素作为pivot。 将小于pivot的元素放在 阅读全文
posted @ 2020-02-11 14:35 强威 阅读(189) 评论(0) 推荐(0) 编辑
摘要:C++实现trid class TrieNode{ public: TrieNode():End(false), R(26){ links.resize(R); } void setEnd(){ End = true; } bool isEnd(){ return End; } bool conta 阅读全文
posted @ 2020-02-09 14:36 强威 阅读(174) 评论(0) 推荐(0) 编辑
摘要:单调队列分为递增队列和递减队列,一般用来求某个固定长度(例如:滑动窗口的最值)序列中的最大/最小值。 对于递增队列,队首元素就是最小值。 对于递减队列,队首元素就是最大值。 1.递增队列(队列首尾最小值) if(q.empty()) q.push_back(A[i]); else if(q.back 阅读全文
posted @ 2020-02-09 13:08 强威 阅读(301) 评论(0) 推荐(0) 编辑
摘要:1.归 ListNode* sortList(ListNode* head) { if (head == nullptr || head->next == nullptr) return head; // 1.将待排序序列分为两部分 ListNode* pre = nullptr, *slow = 阅读全文
posted @ 2020-02-07 22:36 强威 阅读(237) 评论(0) 推荐(0) 编辑
摘要:1.形如 T(n) = a * T(n/b) + f(n) 的时间复杂度计算方法 有一种方法叫做主方法(Master method)是用来专门计算这种形式的时间复杂度的,方法具体如下: 下边举例进行说明: 例1: T(n) = 25*T(n/5) + n^2 因为:a=25,b=5,d=2,f(n) 阅读全文
posted @ 2019-12-22 16:41 强威 阅读(2862) 评论(0) 推荐(0) 编辑