• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
 






超薄

 
 

Powered by 博客园
博客园 | 首页 | 新随笔 | 联系 | 订阅 订阅 | 管理

2012年2月11日

快速排序算法
摘要: 快速排序算法是最快的排序算法,当然它是针对大量通常无序的集合而言是正确的。publicvoidQSort(){RecQSort(0,numElements-1);}publicvoidRecQSort(intfirst,intlast){if((last-first)<=0)return;else{intpart=this.Partition(first,last);RecQSort(first,part-1);RecQSort(part+1,last);}}publicintPartition(intfirst,intlast){intpivotVal=arr[first];intth 阅读全文
posted @ 2012-02-11 20:17 超薄 阅读(212) 评论(0) 推荐(0)
 
动态规划
摘要: 动态规划认为是递归的反向技术,递归的效率低下。斐波那契数列0,1,2,3,5,8,13,21,34staticlongrecurFib(intn){if(n<2)returnn;elsereturnrecurFib(n-1)+recurFib(n-2);}动态规划版本staticlongiterFib(intn){int[]val=newint[n];if((n==1)||(n==2))return1;else{val[1]=1;val[2]=2;for(inti=3;i<=n-1;i++)val[i]=val[i-1]+val[i-2];}returnval[n-1];}stat 阅读全文
posted @ 2012-02-11 20:17 超薄 阅读(218) 评论(0) 推荐(0)
 
字典 DictionaryBase 和 SortedList
摘要: 字典是一种利用键值对来存储的数据结构。作为一种抽象类,dictionaryBase类可以实现不同的结构sortedList是按照分类顺序基于键值来存储键值对的,它可以通过引用数据结构中的值得索引位置也可以访问存贮在结构中的数据。Dictionary中,存储在字段中的键值对于时间上最为DictionaryEntry对象来存储的。DictionaryEntry结构提供两个域,一个用于键,一个用于值。对于内部而言会把键值存储在innerHashTable的散列对象中。publicclassIPAddresses:DictionaryBase{publicIPAddresses(){}publicvo 阅读全文
posted @ 2012-02-11 20:16 超薄 阅读(1016) 评论(0) 推荐(0)
 
模式匹配文本处理
摘要: 使用正则表达式在System.TextRegularExpressionusingSystem;usingSystem.Text.RegularExpressions;classchapter8{staticvoidMain(){Regexreg=newRegex("the");stringstr1="thequickbrownfoxjumpedoverthelazydog";MatchmatchSet;intmatchPos;matchSet=reg.Match(str1);if(matchSet.Success){matchPos=matchSet. 阅读全文
posted @ 2012-02-11 20:15 超薄 阅读(983) 评论(0) 推荐(0)
 
位运算
摘要: 一个求素数的例子publicvoidGenPrimes(){for(intouter=2;outer<=arr.GetUpperBound(0);outer++)for(intinner=outer+1;inner<=arr.GetUpperBound(0);inner++)if(arr[inner]==1)if((inner%outer)==0)arr[inner]=0;}publicvoidShowPrimes(){for(inti=2;i<=arr.GetUpperBound(0);i++)if(arr[i]==1)Console.Write(i+"" 阅读全文
posted @ 2012-02-11 20:13 超薄 阅读(471) 评论(0) 推荐(1)
 
基础排序算法
摘要: 检测算法的类usingSystem;classCArray{privateint[]arr;privateintupper;privateintnumElements;publicCArray(intsize){arr=newint[size];upper=size-1;numElements=0;}publicvoidInsert(intitem){arr[numElements]=item;numElements++;}publicvoidDisplayElements(){for(inti=0;i<=upper;i++)Console.Write(arr[i]+"&quo 阅读全文
posted @ 2012-02-11 20:12 超薄 阅读(230) 评论(0) 推荐(0)
 
基础查找算法
摘要: 顺序查找staticintSeqSearch(int[]arr,intsValue){for(intindex=0;index<arr.Length;index++)//小bugif(arr[index]==sValue)returnindex;return-1;}查找最大和最小staticintFindMin(int[]arr){intmin=arr[0];for(inti=0;i<arr.Length;i++)if(arr[i]<min)min=arr[i];returnmin;}staticintFindMax(int[]arr){intmax=arr[0];for(i 阅读全文
posted @ 2012-02-11 20:12 超薄 阅读(1673) 评论(0) 推荐(0)
 
Collection 类,泛型 时间测试
摘要: C#里定义集合的最简单方法是继承CollectionBase类usingSystem;usingSystem.Collections;publicclassCollection:CollectionBase{publicvoidAdd(Objectitem){InnerList.Add(item);}publicvoidRemove(Objectitem){InnerList.Remove(item);}publicnewvoidClear(){InnerList.Clear();}publicnewintCount(){returnInnerList.Count;}}classchapter 阅读全文
posted @ 2012-02-11 20:10 超薄 阅读(196) 评论(0) 推荐(0)
 
数据结构 图
摘要: 一个图是由顶点,和边集E组成的。无向图,有向图若图中所有的便有两个顶点没有次序关系和方向,即(V1,V2)和V(V2,V1)代表同一个便,则称为无向图,反之则为有向图。完全图在一个无向图中,如果任意两顶点都有一条边直接连接,则称该图为完全无向图。路径路径是指图中顶点的序列回路回路是指在有向图中路径至少为1一边初始顶点也是结束顶点。在有向图中,变可能相同,但在无向图中,边必须相同。顶点的表示publicclassVertex{publicboolwasVisited;publicstringlabel;publicVertex(stringlabel){this.label=label;wasV 阅读全文
posted @ 2012-02-11 20:09 超薄 阅读(1695) 评论(0) 推荐(0)
 
二叉树和二叉查找树
摘要: 人们时常选择二叉树超过诸如数组和链表真阳的较为基础的数据结构,因为人们可以快速的查找二叉树(相对于链表),还可以迅速的二叉树中插入和拆除数据(相对于数组)。人们把每个节点最拥有不超过两个子节点的树定义为二叉树。二叉查找树是一种吧较小数据存储在左节点二较大数据存储在右节点的二叉树。PublicclassNode{PublicintData;PublicNodeleft;PublicNoderight;PublicvoidDisplayNode(){Console.writeline(Data);}}PublicclassBinarySearchTree(){PublicNoderoot;Pbul 阅读全文
posted @ 2012-02-11 20:07 超薄 阅读(5817) 评论(0) 推荐(1)
 
串
摘要: 串又称为字符串,是一种特殊的线性表,在非数值处理(如信息检索,文本编辑,机器翻译)中有广泛应用。在使用.netframework中的使用string进行许多改变时会使用stringbuilder,这是因为string和字符串是不可变的,而StringBuilder对象是易变的。创建String对象Stringname="Jeneiferect";Stringname="MikeMcMillan\nInstructor,CIS\tRoom306";转意。Sting的方法stringsubString(intindex,intleng);IntIndexof 阅读全文
posted @ 2012-02-11 20:05 超薄 阅读(175) 评论(0) 推荐(0)
 
栈和队列
摘要: 栈和队列死常用的两种数据结构,逻辑节后和线性表一样,不同之处在于操作受限,只是线性表的一个子集。更准确的说它们插入,删除,受限制。在.net中,值类型在栈上分配,引用类型在托管堆上分配。栈(stack)的数据特点“后进先出”,或者先进后出栈可广泛用于求值,进制转换,括号匹配,递归调用等"先进后出的问题",十进制转换二进制八进制数的一种算法就是利用栈来实现算法步骤:取十进制数取药转换的基数循环把十进制数与基数相互转的余数压入栈把十进制与基数相处的商赋值给新的十进制数当十进制不等于0时继续循环///a10进制数,b是进制数StaticvoidMulBase(inta,intb) 阅读全文
posted @ 2012-02-11 20:04 超薄 阅读(287) 评论(0) 推荐(0)
 
线性表
摘要: 线性表(LinearList)是具有相同特性的数据元素的一个有限序列。该序列中所含元素的个数称之为线性表的长度。线性表中元素在位置上是有序的。顺序表和链表是线性表的两种重要形式。2线性表的顺序存储结构-----顺序表顺序表特点1容量固定2访问速度快(排序后)在c#中顺序表的直接表现形式是数组,数组是引用类型,数组的长度(托管堆分配一定长度内存空间,引用类型初始值是null,值类型如int0)一旦确定就不能更改,这使得数组没有添加,删除元素的操作。。任何对数组的添加,删除操作都是逻辑意义上的。数组的特点是访问速度快,但是缺点明显,进行添加删除是不可以的,如果要动态改变集合的大小,就要用syste 阅读全文
posted @ 2012-02-11 20:02 超薄 阅读(2968) 评论(0) 推荐(0)
 
数据结构与算法 概述
摘要: 一、数据的存储结构1.顺序存储结构(sequencestoragestructure)是逻辑上相邻的节点存储在物理位置上也相邻的存储单元里。2.链式存储结构(linkedstoragestructure)不要求逻辑上相邻的节点存储在物理位置上也相邻。3.索引存储是在存储节点信息同时,建立一个附加的索引表,然后利用索引表中的索引号的值来确定节点的存储单元地址。4.散列存储是根据节点的值累确定存储地址,把节点值作为自变量,通过一个称之为散列函数的计算规则确定该节点存储单元地址。二、数据类型1.高级语言的数据类型分2种:原子类型和结构类型。Char.intfloatdoublevoid等是原子类型, 阅读全文
posted @ 2012-02-11 20:00 超薄 阅读(1515) 评论(1) 推荐(0)