码迷,mamicode.com
首页 >  
搜索关键字:算法导论    ( 1209个结果
算法导论笔记(四)算法分析常用符号
? {\color{Blue} f\left ( n \right )= \Theta \left ( g\left ( n \right ) \right )}LaTeX存在正常数、和,使任意,有。其实是一个集合:。只是通常也写成标题那样而已。?存在正常数和,使任意,有。强于,即。?存在正常数和,...
分类:编程语言   时间:2015-07-07 00:52:42    阅读次数:208
双调旅行商问题 (Bitonic TSP)
问题描述: 上述问题可以使用动态规划的方法来解决。 下面是解决思路的具体介绍: 1. 最优子结构: 假设d[i][j]表示从起点1出发到达i及j两个顶点的最短路程之和。为此可以假设K为此段路程上与j相加的节点,则d[i][j] = d[i][k] + len[k][j]。 证明:若存在一个更短的路径d[i][k],则就应该存在更短的路径d[i][j],这与假设矛盾,因此得证。下面来寻找j相...
分类:其他好文   时间:2015-07-06 12:17:05    阅读次数:239
算法导论笔记(三)冒泡排序
冒泡排序重复走访要排序的数列,比较相邻两个元素,如果顺序错误就交换,直到该数列无需再交换为止。升序冒泡void BubbleSorting(int arr[], int len){ if (len arr[j + 1]) { temp = ...
分类:编程语言   时间:2015-07-06 06:36:50    阅读次数:127
算法导论笔记(二)二路归并排序
二路归并排序 归并排序采用了一种”分而治之“的策略:将原问题分解成N个规模较小而结构与原问题相似的子问题;递归求解这些子问题,然后合并其结果,从而得到原问题的解。分治模式一般遵循以下三个步骤:分解(Divide):将原问题分解成若干子问题;解决(Conquer):递归地求解各子问题。若子问题足够小....
分类:编程语言   时间:2015-07-05 23:48:19    阅读次数:184
算法导论学习笔记:2.1-插入排序
不假思索的写出这样的代码:/*N:数组长度*/for (i = 1; i 0?a[t] 0 && a[t] = 0 && a[j] > t){ a[j + 1] = a[j]; j--; } a[j + 1] = t;}没有明显的交换,实际上和“找出a[i]...
分类:编程语言   时间:2015-07-05 19:48:25    阅读次数:96
算法导论笔记(一) 插入排序
插入排序:插入排序属于原地排序(sorted in place),使用的是增量(incremental)方法。排序从第二个元素开始遍历。在排好序的子数组A[1 .. j -1]中,将元素A[j]插入,形成排好序的子数组A[1 .. j];然后,重复此操作,直到整个数组有序。使用for循环实现的升序插...
分类:编程语言   时间:2015-07-05 16:23:54    阅读次数:147
算法导论学习---红黑树详解之插入(C语言实现)
前面我们学习二叉搜索树的时候发现在一些情况下其高度不是很均匀,甚至有时候会退化成一条长链,所以我们引用一些”平衡”的二叉搜索树。红黑树就是一种”平衡”的二叉搜索树,它通过在每个结点附加颜色位和路径上的一些约束条件可以保证在最坏的情况下基本动态集合操作的时间复杂度为O(nlgn).下面会总结红黑树的性质,然后分析红黑树的插入操作,并给出一份完整代码。先给出红黑树的结点定义:#define RED 1...
分类:编程语言   时间:2015-07-05 12:28:44    阅读次数:245
算法导论学习---红黑树详解之插入(C语言实现)
前面我们学习二叉搜索树的时候就发现在一些情况下其高度不是很均匀,甚至有时候会退化成一条长链。红黑树也是一种”平衡”的二叉搜索树,它通过在每个结点附加颜色位和路径上的一些约束条件可以保证在最坏的情况下基本动态集合操作的时间复杂度为O(nlgn).下面会总结红黑树的性质,然后分析红黑树的插入操作,并给出一份完整代码。先给出红黑树的结点定义:#define RED 1 #define BLACK 0///...
分类:编程语言   时间:2015-07-05 09:36:48    阅读次数:122
就职前的随笔
有些迷茫,马上就要去广东就职,会的不少,但是没有真正精通的东西。想要改变,却不知道向哪个方向深入学习。 买了一本《算法导论》,发现这是一本需要大量精力的东西,决定等以后有需求再深入研究,因为里面大部分知识不会用到。现在就大致浏览一遍,把能看懂的先看懂。 目前计划:巩固现有基础知识。反正也...
分类:其他好文   时间:2015-07-04 13:55:23    阅读次数:97
算法分析(1):插入排序
买了一本算法导论,利用闲散的时间,学习算法分析。语言使用C++,顺便练习C++语言特性。 插入排序:对于少量元素的排序,这是一个有效的算法。下面根据一个例子来分析,它排序的原理。 对于一个vector:vector numbers = { 31, 41, 50, 26, 68, 2, 3...
分类:编程语言   时间:2015-07-03 13:43:57    阅读次数:139
1209条   上一页 1 ... 57 58 59 60 61 ... 121 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!