数据结构
冯岳松
这个作者很懒,什么都没留下…
展开
-
csblog: 一站式秃头孵化基地
学习计算机过程中,有很多高质量博客,但资源分散,许多资源不被人所知,经常漫无目全网查找。csblog网站是对全网优质计算机相关资源的整理,可以让初学者少走弯路。只需要知道这个网站,就可以学好计算机并找到满意的工作。30天自制C++服务器。...原创 2022-08-30 09:53:12 · 633 阅读 · 0 评论 -
选择排序 - c++实现
选择排序 #include<iostream> #include<vector> using namespace std; void insertionSort(vector<int> &arr){ for(int i = 1; i < arr.size(); ++i){ int tmp = arr[i]; int j = i - 1; while(j >= 0 && arr[j原创 2021-10-21 16:06:13 · 64 阅读 · 0 评论 -
冒泡排序 - c++实现
冒泡排序 #include<iostream> #include<vector> using namespace std; void bubbleSort(vector<int> &arr){ for(int i = 0; i < arr.size() - 1; ++i){ for(int j = 0; j < arr.size() - 1 - i; ++j){ if(arr[j] > arr[j原创 2021-10-21 15:46:07 · 65 阅读 · 0 评论 -
快速排序 - c++实现
快速排序 #include<iostream> #include<vector> using namespace std; int partition(vector<int> &arr, int left, int right){ int pivot = arr[left], i = left, j = right; while(i < j){ while(j > i && arr[j] >= p原创 2021-10-21 15:34:13 · 78 阅读 · 0 评论 -
归并排序 - c++实现
归并排序 #include<iostream> #include<vector> using namespace std; void merge(vector<int> &arr, int left, int mid, int right){ int i = left; int j = mid + 1; vector<int> tmp(right - left + 1); int k = 0; while(i原创 2021-10-21 15:03:49 · 66 阅读 · 0 评论 -
两个栈实现队列
class Queue: def __init__(self): self.stack1 = [] self.stack2 = [] def appendTail(self, value): self.stack1.append(value) def deleteHead(self): if not self.stack1 and not self.stack2: print("队列为空")原创 2021-03-25 21:08:58 · 51 阅读 · 0 评论 -
二叉树的遍历
二叉树的层序遍历(非递归实现,使用队列) def levelOrder(root: TreeNode) -> List[List[int]]: if root is None: return [] queen = [] tree = [] queen.append(root) while len(queen) != 0: level = [] for _ in range(len(queen)):原创 2021-03-03 15:40:33 · 61 阅读 · 1 评论 -
二叉查找树的查找、插入、删除
二叉查找树(英语:Binary Search Tree),也称为二叉搜索树、有序二叉树(Ordered Binary Tree)或排序二叉树(Sorted Binary Tree),是指一棵空树或者具有下列性质的二叉树: 若任意节点的左子树不空,则左子树上所有节点的值均小于它的根节点的值; 若任意节点的右子树不空,则右子树上所有节点的值均大于它的根节点的值; 任意节点的左、右子树也分别为二叉查找树; 没有键值相等的节点。 二叉查找树的查找、插入的时间复杂度较低,为O(log n) 二叉查找树的中序遍历结原创 2021-01-12 12:36:45 · 283 阅读 · 0 评论