随笔分类 -  算法

摘要:1.概述 1.1定义 STL主要由container(容器)、algorithm(算法)和iterator(迭代器)三大部分构成,容器用于存放数据对象(元素),算法用于操作容器中的数据对象。 1.2stl容器 一个STL容器就是一种数据结构,如链表、栈和队列等,这些数据结构在STL中都已经实现好了, 阅读全文
posted @ 2019-09-11 18:07 Zander_Zhao 阅读(856) 评论(0) 推荐(0)
摘要:算法效率的衡量方法和准则通常有两种衡量算法效率的方法 事后统计法 缺点: 1.必须执行程序 2.其它因素掩盖算法本质 缺点: 1.必须执行程序 2.其它因素掩盖算法本质 事前分析估算法 优点:可以预先比较各种算法,以便均衡利弊从中选优。 和算法执行时间相关的因素 算法的存储空间需求 优点:可以预先比 阅读全文
posted @ 2019-09-09 12:55 Zander_Zhao 阅读(421) 评论(0) 推荐(0)
摘要:1.决定因素 1.1算法选用的策略 1.2问题的规模 1.3编写程序的语言 1.4编译程序产生的机器代码的质量 1.5计算机执行指令的速度 2.其他影响元素 3.问题的规模(时间复杂度) 3.1定义 一个特定算法的“运行工作量”的大小,​只依赖于问题的规模(通常用整数量n表示),​或者说,它是问题规 阅读全文
posted @ 2019-09-09 12:44 Zander_Zhao 阅读(3041) 评论(0) 推荐(0)
摘要:1.概述 1.1定义 一个算法的存储量包括形参所占空间和临时变量所占空间。在对算法进行存储空间分析时,只考察临时变量所占空间。 算法的空间复杂度定义为:S(n) = O(g(n))​ 表示随着问题规模 n 的增大,算法运行所需存储量的增长率与 g(n) 的增长率相同。​​​ 1.2补充 例如,有以下 阅读全文
posted @ 2019-09-09 11:59 Zander_Zhao 阅读(1962) 评论(0) 推荐(1)
摘要:1.概念 1.1定义 算法是为了解决某类问题而规定的一个有限长的操作序列。​处理问题的策略 算法是求解问题的一系列计算步骤,用来将输入数据转换成输出结果 : 如果一个算法对其每一个输入实例,都能输出正确的结果并停止,则称它是正确的。 算法与数据结构既有联系又有区别。 联系:数据结构是算法设计的基础。 阅读全文
posted @ 2019-09-09 11:32 Zander_Zhao 阅读(743) 评论(0) 推荐(0)
摘要:二分法查找 1.综述 二分法检索(binary search)又称折半检索,二分法检索是一种效率较高的检索方法。 2.简介 2.1 基本思想 设数组中的元素从小到大有序地存放在数组(array)中, 首先将给定值key与数组中间位置上元素的关键码(key)比较, 如果相等,则检索成功; 否则,若ke 阅读全文
posted @ 2019-05-19 14:00 Zander_Zhao 阅读(307) 评论(0) 推荐(0)
摘要:冒泡排序 1 综述 冒泡排序是最常用的排序算法, 算法重复地走访过要排序的数列,一次比较两个元素, 如果他们的顺序错误就把他们交换过来,这样越大的元素会经由交换慢慢“浮”到数列的顶端。 2 简介 2.1 流程 2.2 代码 3 优化 3.1 分析 1.整个数列分成两部分:前面是无序数列,后面是有序数 阅读全文
posted @ 2019-05-19 13:51 Zander_Zhao 阅读(186) 评论(0) 推荐(0)