![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
文章平均质量分 91
YoungYangD
喜欢读书、旅行的小男生,梦想是贩卖二手阳光。
展开
-
算法及其复杂性分析整理
概述通常,对于一个给定的算法,我们需要做两项分析。第一是从数学上证明算法的正确性,这一步主要用到形式化证明的方法及相关推理模式,如循环不变式、数学归纳法等。第二就是分析算法的复杂度。算法的复杂度反应了程序执行时间随输入规模增长而增长的量级,在很大程度上能很好的反应出算法的优劣与否。所以,作为程序员的我们,掌握基本的算法复杂度分析方法是有必要的。1、算法算法是指对特定问题求解步骤的一种描述。它...原创 2019-01-02 23:22:41 · 5571 阅读 · 3 评论 -
C++ STL(第十八篇:算法-- copy)
1、copy算法不管在什么地方,copy() 都是一个常常被调用的函数。copy操作不外乎运用 赋值操作 或 拷贝构造 来进行,但是某些元素能够使用内存直接复制行为,能够提高效率,节省时间。copy() 算法可将输入区间 [first, last) 内的元素赋值到输出区间 [result, result+(last-first)) 内。copy 算法用了各种办法来提高效率,包括函数重载、型别特...原创 2019-04-26 20:51:07 · 1751 阅读 · 0 评论 -
C++ STL(第二十篇:算法-- 排序)
1、概述排序算法是算法中的重点,排序过的数据,特别容易查找,不管是实际工作还是面试都会用到它。现实生活中,字典需要排序,书籍索引需要排序,磁盘目录需要排序,名片需要排序等等。任何数据只要你想快速查找,就需要进行排序。排序算法有很多种,比如冒泡排序、选择排序、插入排序、快速排序、堆排序。其中堆排序我们在整理 heap 时已经进行整理了,今天主要是对 STL 中的 sort 排序进行整理。而 s...原创 2019-05-01 18:25:33 · 1110 阅读 · 2 评论 -
C++ STL(第十七篇:算法)
1、算法的概述算法,就是一个问题的解法。以有限的步骤,解决逻辑或数学上的问题。STL 收录了极具复用价值的 70 第一个 算法,包括和赫赫有名的排序、查找、排列、组合等。有的算法需要搭配特定的数据结构。例如 binary search tree(二叉查找树)和 RB-tree 便是为了解决查找问题而发展出来的特殊数据结构,hashtable 拥有快速查找的能力。map-heap可以协助完成所谓...原创 2019-04-25 21:18:41 · 468 阅读 · 0 评论 -
算法 ---- 计数排序、桶排序及基数排序
1、计数排序计数排序 需要满足 n 个输入元素中的每一个元素都在 0 到 k 的区间内的整数。计数排序的思想是:对每一个输入元素x,确定小于 x 的元素个数。利用这一信息,可以直接把 x 放到它在输出数组中的位置上。例如,有17个元素小于 x,则 x 就应该在第18个位置上。计数排序 需要使用 k+n个辅助空间,k 个辅助空间是用来确定小于 x 的元素个数,n 个辅助空间是用来存放对原数组的...原创 2019-05-19 14:36:13 · 337 阅读 · 0 评论