随笔分类 - 刷题模版
摘要:算法介绍 引用百度百科的介绍。 归并排序(Merge Sort)是建立在归并操作上的一种有效,稳定的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有
阅读全文
摘要:算法介绍 引用百度百科的介绍。 堆排序(英语:Heapsort)是指利用堆这种数据结构所设计的一种排序算法。堆是一个近似完全二叉树的结构,并同时满足堆积的性质:即子结点的键值或索引总是小于(或者大于)它的父节点。 算法描述 堆排序的思想借助于二叉堆中的最大堆得以实现。首先,将待排序数列抽象为二叉树,
阅读全文
摘要:(待补全完整) 01背包 问题描述 有n件物品,每件物品的重量为w[i],价值为c[i]。现有一个容量为V的背包,问如何选取物品放入背包,使得背包内物品的价值最大。其中每种物品都有1件。 样例输入 5 8 // n == 5, V == 8 3 5 1 2 2 //w[i] 重量 4 5 2 1 3
阅读全文
摘要:本文参考自***《算法笔记》***并查集篇 并查集的定义 什么是并查集?并查集可以理解为是一种维护数据集合的结构。名字中并查集分别取自于单词并(union合并),查(find查找),集(set集合)。一个并查集需要有一下两个功能: 合并:合并两个集合 查找:判断两个元素是否在一个集合里 并查集主要是
阅读全文
摘要:算法介绍 快速排序由C. A. R. Hoare在1960年提出。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。 算法描述 快速排
阅读全文

浙公网安备 33010602011771号