![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法导论
Zevin
这个作者很懒,什么都没留下…
展开
-
基于 Needleman-Wunsch 算法的文本相关性计算
// 计算字符串(数组)A和B(数组)的相关性: static float Correlation(List A, List B) { List lcs = NeedlemanWunsch(A, B);// 调用Needleman-Wunsch算法子函数 float x = (float)lcs.Count;转载 2010-04-09 18:20:00 · 981 阅读 · 0 评论 -
Haiiang数据处理
1. 给定a、b两个文件,各存放50亿个url,每个url各占64字节,内存限制是4G,让你找出a、b文件共同的url?方案1:可以估计每个文件安的大小为50G×64=320G,远远大于内存限制的4G。所以不可能将其完全加载到内存中处理。考虑采取分而治之的方法。s 遍历文件a,对每个url求取,然后根据所取得的值将 url分别存储到1000个小文件(记为)中。这样每个小文件的大约为300M。s 遍历文件b,采取和a相同的方式将url分别存储到1000各小文件(记为)。这样处理后,所有可能相同的url都在对应转载 2011-05-04 16:00:00 · 1105 阅读 · 1 评论 -
shell sort algorithm
#include void shellSort(int, int);main(){ /*这里有一点需要注意,C语言中,任何的变量声明语句必须放在最前面 即使是放在printf语句之后也不行,下面的两行语句若写成: printf原创 2011-07-06 16:33:31 · 599 阅读 · 0 评论 -
C语言创建一个n个结点的单链表
#include #include //类型定义typedef在使用的时候如果直接按下面的方式定义,是错误的:/*typedef struct Node{ int data; Node * next;};*///应该定义为:ty原创 2011-08-02 18:49:18 · 6381 阅读 · 1 评论 -
jike review
1. 兄弟孩子多叉树的中序遍历2. 一个数组通过另一个有序数组位数右移循环得到,怎样再该数组中最快查找到某个数。3. 运算式加减乘除运算获得最终结果4. 四种类型题目,每种类型不同时间,不同分数,在最短时间内取得做多分数。原创 2011-08-03 15:57:29 · 597 阅读 · 0 评论 -
快速排序
1, 递归实现的方法: #include #define LEN 10void qsort(int, int, int);main(){ int i; int a[LEN] = {3,2,5,6,7,1,2,8,9,4}; qsort(原创 2011-08-04 13:22:50 · 397 阅读 · 0 评论 -
线性表--顺序表的操作
#include #include #define LIST_INIT_SIZE 100;#define LISE_INCREMENT 10;//定义一个枚举常量,默认no = 0, ok = 1enum Status{no, ok};typede原创 2011-08-11 18:21:32 · 1255 阅读 · 2 评论 -
m*n矩阵,共有多少个正方形
每一个正方形对应着一个二横二纵的线的选定,可以按以下方式分类:1.边长为1格,即两横线与两纵线间隔均为1,横线有n种选法,纵线也有n种选法,故有n^2种;2.边长为2格,横线有n-1种选法,纵线也有n-1种选法,故有(n-1)^2种选法依此类推一共有1^2+2^2+3^3+…+n^2=n(n+1)(2n+1)/6个正方形。若是m*n的矩阵,共有(n-1)*(m-1)+(n-2)*(m-2)+(n-3)*(m-3)+......+1*1种分法。算法可用递归实现。原创 2011-05-27 19:19:00 · 4291 阅读 · 0 评论 -
基本排序算法比较与选择
<br />算法与结果联合分析 <br /> <br />冒泡排序:在最优情况下只需要经过n-1次比较即可得出结果,(这个最优情况那就是序列己是正序,从100K的正序结果可以看出结果正是如此),但在最坏情况下,即倒序(或一个较小值在最后),下沉算法将需要n(n-1)/2次比较。所以一般情况下,特别是在逆序时,它很不理想。它是对数据有序性非常敏感的排序算法。 <br />冒泡排序2:它是冒泡排序的改良(一次下沉再一次上浮),最优情况和最坏情况与冒泡排序差不多,但是一般情况下它要好过冒泡排序,它一次下沉,再一次转载 2011-05-24 15:24:00 · 607 阅读 · 0 评论 -
kmp算法
kmp算法是一种改进的字符串匹配算法,由D.E.Knuth与V.R.Pratt和J.H.Morris同时发现,因此人们称它为克努特——莫里斯——普拉特操作(简称KMP算法)。KMP算法的关键是根据给定的模式串W1,m,定义一个next函数。next函数包含了模式串本身局部匹配的信息。kmp算法-学习介绍 严老的《数据结构》79-84页讲了基本的匹配方法,这是基础。先把这个搞懂了。 80页在讲KMP算法的开始先举了个例子,让我们对KMP的基本思想有了最初的认识。目的在于指出“由此,在整个匹配的过程中转载 2011-05-23 15:49:00 · 732 阅读 · 0 评论 -
数据结构C#描述(第一讲:C#中的数据结构类)
区别于以往的C++描述的数据结构,在C#中,数据结构有了新的解释与描述,那就是基于.NET Framework类库的一个数据结构类-----Collection Class, 在这个Collection类中,涵盖了Array, ArrayList, Stack, Queue, Hash Table SortedList等等一系列的数据结构类型。一言蔽之,在C#中,数据结构的概念就是数据集合原创 2010-04-21 00:03:00 · 972 阅读 · 0 评论 -
数据结构C#描述(第三讲:在C#中用基于泛型的编程来实现一个数据结点的定义)
在对数据结构的研究中,我们常常试图用一种数据结构类型来扮演多重角色,也就是希望这种数据结构类型的值能代表多种不同的数据类型,从而使其能在各种数据结构的场合得以应用。在C#中引用了泛型的概念,类似于C++中的模板。泛型类使用泛型类型,并可以根据需要使用特定的类型来替换泛型类型。这样就保证了类型安全性:如果某个类型不支持泛型类,编译器就会产生错误。通常情况下,我们定义一个值,然后给这个值赋于可原创 2010-04-26 23:21:00 · 964 阅读 · 0 评论 -
数据结构C#描述(第二讲:在.NET中数据是如何存储的)
我们研究数据结构,主要是研究它的四个方面:数据结构;定义与之对应的基本运算;设计相应算法;分析算法的效率。其中,第一部分数据结构的研究又主要分为两种:数据的物理结构和逻辑结构。所谓数据的物理结构,就是数据在计算机内存中存储的结构;所谓逻辑结构就是数据与数据之间的逻辑关系。在.NET类库框架下,我们没有一个泛化的集合类来存储数据,但是我们可以利用一个抽象类-----CollectionBas原创 2010-04-25 21:47:00 · 781 阅读 · 0 评论 -
数据结构C#描述(第五讲:在.NET中如何用一个常用计时程序来评判一段代码的时间复杂度)
以往我们在学习数据结构的过程中,常常在开篇就涉及到算法时间复杂度的概念。而时间复杂度也是评价一个算法好坏的最主要的指标。在.NET中,我们尝试避开繁琐的时间复杂度分析,取而代之的是使用一种简单的基准计时代码来测试判断某段代码从开始运行到运行结束所需要的时间。这种基准计时代码主要用来衡量一格算法或者代码从开始运行到完全结束所经历的时间。为了能够准确分析代码的时间性能,我们必须基于.NET环境原创 2010-05-06 23:23:00 · 1659 阅读 · 0 评论 -
(数据结构C#描述)通过泛型类来自定义一个顺序表类
using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace ListMethod{ //一旦定义了接口,实现接口的派生类中必须实现接口中定义的所有成员,一个都不能少。 public interface IListDS { int GetLength(); void Clear();原创 2010-07-19 18:50:00 · 1300 阅读 · 0 评论 -
(数据结构C#描述)通过引用自定义的顺序表类来实现有序顺序表的合并
<br />using System;using System.Collections.Generic;using System.Linq;using System.Text;using ConsoleApplication3;namespace MergeList{ /*Sorted list merge class*/class Program{ static public void Merge(SeqList<int> La, SeqList原创 2010-07-26 19:04:00 · 1335 阅读 · 0 评论 -
(数据结构c#描述)使用自定义顺序表类实现对顺序表的冗余元素的删减
按升序合并两个表的算法C#实现using System;using System.Collections.Generic;using System.Linq;using System.Text;using ConsoleApplication3;namespace MergeList{ /*Sorted list merge class*/class Program{ static public void Merge(SeqList La, Seq原创 2010-07-28 18:44:00 · 788 阅读 · 0 评论 -
strcpy写法
<br /> 原型声明:extern char *strcpy(char *dest,char *src); <br /> 头文件:string.h<br /> 功能:把src所指由NULL结束的字符串复制到dest所指的数组中。 <br /> 说明:src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。 <br /> 返回指向dest的指针。 典型实现<br /> /********************** <br /> * C语言标准库函数strcpy的转载 2011-05-23 15:40:00 · 578 阅读 · 0 评论