时间复杂度和空间复杂度是算法效率的度量方法。 时间复杂度: 算法时间复杂度的定义:在进行算法分析时,语句总的执行次数T(n)是关于问题规模n的函数,进而分析T(n)随n的变化情况并确定T(n)的数量级。 算法的时间复杂度,也就是算法的时间量度,记作:T(n)= O(f(n))。 它表示随问题规模n的 ...
分类:
其他好文 时间:
2018-05-29 19:03:49
阅读次数:
159
(1) 计算机有关专业(计算机应用、软件工程)的教育和学习过程是从理解计算机世界开始的,如计算机原理、离散数学、编译原理、数据结构、算法分析、程序设计、数据库等等课程都是围绕计算机科学的,也称为专业基础课。这些基础课是培养学生把给定的计算模型在计算机中得以实现的计算能力。 (2) 然而谁来给出这个模 ...
分类:
其他好文 时间:
2018-05-18 21:26:03
阅读次数:
150
为什么要学数据结构?学习数据结构的作用就是在理清数据的逻辑关系的前提下,设计出合理的物理存储结构。若光有算法,没有数据结构,就相当于一个军师有锦囊妙计,但是没有士兵。对于数据的排序,不仅要想到冒泡(冒泡排序),还有插入排序,快速排序等效率更高的排序算法数据机构与算法的关系:算法分析的目的在于选择合适算法和改进算法。良好数据结构(影响数据存储和运行的效率)思想就是一种高效的算法,但是数据结构不等于算
分类:
其他好文 时间:
2018-05-17 20:42:45
阅读次数:
144
说实话我感觉这像是“Wang Qishan二分” 应用分析 它的作用就是题目给了一个选物品的限制条件,要求刚好选$m$个,让你最大化(最小化)权值, 然后其特点就是当选的物品越多的时候权值越大(越小)。 算法分析 我们先不考虑物品限制条件, 假定我们要最大化权值。 然后其中我们二分一个$C$,表示选 ...
分类:
编程语言 时间:
2018-05-16 15:19:29
阅读次数:
748
算法分析主要研究两个内容:时间复杂度 和 空间复杂度。 时间复杂度分析 一般来说,最关注的是时间复杂度。(或称时间上的增长数量级) 1. 时间复杂度的渐进表示 1. 渐近上界: 表示 T(N) 的阶数小于或等于 f(N) 的阶数,这种记法称为大 O 标记法。 (该算法不会比 f(N) 还坏) 写成极 ...
分类:
编程语言 时间:
2018-05-12 15:12:58
阅读次数:
242
算法是编程的灵魂,一直想研究一下算法,选了一本入门书《数据结构与算法分析--c语言描述》,空闲的时候翻一番,写一写。在3.2.6小节中有个多重表,百度了一下,可能比较简单,较少人实现- -!,百度到的一些博主的实现方法,定义的节点包含的信息较多且比较浪费空间,没有书上描述的那么简洁,所以自己实现了一 ...
分类:
其他好文 时间:
2018-05-06 23:32:02
阅读次数:
235
问题引出 假设有一道题目:有一组N个数而要确定其中第k个最大者,我们称之为选择问题,那么这个程序如何编写?最直观地,至少有两种思路: 1、将N个数读入一个数组中,再通过某种简单的算法,比如冒泡排序法,以递减顺序将数组排序,则第k个位置上的元素就是我们需要的元素 2、稍微好一些的做法,将k个元素读入数 ...
分类:
编程语言 时间:
2018-05-06 13:40:23
阅读次数:
187
序言 期待读者 本文期待读者有C语言编程基础,后文中要分析代码,对其中的一些C语言中的简单语句不会介绍,但是并不要求读者有过多的C基础,比如指针和链表等不会要求太多,后面在分析代码时,会附带地介绍相关的知识,如果您已经精通了C语言的指针则可以略过相关的介绍。除此之外,不再假设读者拥有任何知识。 如何 ...
分类:
编程语言 时间:
2018-05-06 12:10:07
阅读次数:
249
数据结构导图: 数据结构的形式定义为:数据结构是一个二元组 Data_Structure = (D, S) 其中:D是数据元素的有限集,S是D上关系的有限集。 时间复杂度: 一般情况下,算法中基本操作重复执行的次数是问题规模n的某个函数f(n),算法的时间量度记作 T ( n ) = O( f ( ...
分类:
其他好文 时间:
2018-05-04 21:28:48
阅读次数:
181