随笔分类 - DataStructure and Algorithm
摘要:#include <iostream> #include <vector> using namespace std; void merge_sort(vector<int>& vec,int left, int right); int main(){ vector<int> input = {}; 
        阅读全文
                
摘要:1.问题描述:# 哲学家进餐问题描述有五个哲学家,他们的生活方式是交替地进行思考和进餐,哲学家们共用一张圆桌,分别坐在周围的五张椅子上,在圆桌上有五个碗和五支筷子,平时哲学家进行思考,饥饿时便试图取其左、右最靠近他的筷子,只有在他拿到两支筷子时才能进餐,该哲学家进餐完毕后,放下左右两只筷子又继续思考
        阅读全文
                
摘要:void quickSort(vector<int>& nums, int start, int end){ if(start >= end) return; int left = start, right = end; int pivot = nums[left]; while(left < ri
        阅读全文
                
摘要:时间复杂度O(n*logn):每次输出堆顶元素,输出n-1次,每次输出完之后对堆进行调整,每次调整的时间复杂度是O(logn),即二叉树的高度h。
        阅读全文
                
摘要:直接定址法: 直接取关键字的某个线性函数值为散列地址。Hash(key) = a*key + b (其中a,b为常数) 方法简单,不会产生冲突,若关键字分布不连续,则会浪费空间。 解决哈希冲突的方法:开放定址法、拉链法 开放定址法中不能随便删除某个元素,因为会导致对相同H(key)的后续检索,当几个
        阅读全文
                
摘要:转载自:https://blog.csdn.net/qq_36610462/article/details/83277524 查找、删除、插入时间复杂度: 1.节点是红色或黑色。 2.根节点是黑色。 3.每个叶子节点都是黑色的空节点(NIL节点)。 4 每个红色节点的两个子节点都是黑色。(从每个叶子
        阅读全文
                
摘要:二叉树广度优先算法: public void LevelOrder() { Queue<Node> queue = new Queue<Node>(); queue.Enqueue(_head); while (queue.Count>0) { Node node = (Node)queue.Deq
        阅读全文
                
                    
                
浙公网安备 33010602011771号