《数据结构与算法C#语言描述》
文章平均质量分 86
Maths_bai
这个作者很懒,什么都没留下…
展开
-
《数据结构与算法C#语言描述》笔记目录
前言书中,正则表达式、和散列表部分撰写内容不够丰富。通书更适合作为引入性的介绍、了解。本书原版书名为:Data Structures and Algorithms Using C#。出版时间是2007年3月26日。当时.NetFramework的最新版本是3.0。因此有些数据结构类型是不包含之后.net framework版本新增的,比如集合数据类型。原版pdf下载地址:http:原创 2012-10-07 23:44:59 · 3856 阅读 · 0 评论 -
《数据结构与算法C#语言描述》笔记10_散列和Hashtable类
十.散列和Hashtable类散列概述储存在数组内的每一个数据项都是基于一些数据块,这数据块被称为键。把键映射到一个范围从0到散列大小的数上,这需要散列函数完成。散列函数的理想目标是把自身单元内的每一个键都存储到数组内,但可能会出现两个键散列到相同数值的情况,这现象叫做冲突。散列的主要问题是:1)确定用多大维数的数组作为散列表?原则:建议数组的大小是一个素数2)如何选择原创 2012-10-07 23:50:03 · 1315 阅读 · 0 评论 -
《数据结构与算法C#语言描述》笔记9_构建字典:DictionaryBase类和SortedList类
九.构建字典:DictionaryBase类和SortedList类字典是一种把数据作为键/值对来存储的数据结构。可以通过自定义一个继承自System.Collections.DictionaryBase的类,来建立适合的字典。System.Collections.Generic . SortedList类可以通过引用索引号的方式来反问值和键,使用方式和数组很相似。DictionaryBa原创 2012-10-07 23:49:18 · 1628 阅读 · 0 评论 -
《数据结构与算法C#语言描述》笔记6_BitArray类
六.BitArray类System.Collections.BitArray用来存储位的集合。位集合可以有效的表示布尔值的集合。埃拉托斯特尼筛法筛选掉从是其他数(从2开始)倍数的那些数,最后剩下的数都是素数。处理二进制1.按位运算符And(与)Or(或) Not(非)Xor(异或)两个运算数中只有一个1,那么结果为12.移位运算符向左移位(一个数原创 2012-10-07 23:48:13 · 1103 阅读 · 0 评论 -
《数据结构与算法C#语言描述》笔记4_基础查找算法
四.基础查找算法顺序查找(线性查找)集合无序状态下进行顺次查找。“80-20”规则在数据集合上80%的查找操作都是为了查找数据集合20%的数据。这样的概率分布,被称为帕累托(Pareto)分布。自组织将最终把20%的数据集放在数据集合的开始部分,这样顺序查找可以快速找到。自组织数据加快顺序查找基于“80-20”法则,有两种方法实现加快查找。 stati原创 2012-10-07 23:47:07 · 998 阅读 · 0 评论 -
《数据结构与算法C#语言描述》笔记3_基础排序算法
三.基础排序算法许多数据结构主要的设计目的,就是为了便于数据的有效存储、排序、查找等的处理工作。选择排序时效率最高的(虽然三个算法遍历次数相同,但是选择排序是多次判断后赋值给或操作临时变量,最终将最大最小值赋值给或操作数据数组。而其他均在多次判断后直接赋值给或操作数据数组)。冒泡排序算法本质:遍历从头到最后第二个,比较下个元素,较小的到左边, 多次遍历整个列,比较相邻的数值,如原创 2012-10-07 23:46:35 · 899 阅读 · 0 评论 -
《数据结构与算法C#语言描述》笔记5_栈和队列
五.栈和队列栈(Stack类)更适用于解决计算机编程领域的注入解释器、编译器等的问题。构造器三种方法 Stackb1 = new Stack();///1,默认10个数据项的容量 b1.Push(1); b1.Push("1"); StackObject> b2=newSta原创 2012-10-07 23:47:44 · 1053 阅读 · 0 评论 -
《数据结构与算法C#语言描述》笔记1_群集
一.群集数据结构按线性分类群集群集(Collection)1.线性群集1.1 直接存取群集数据类型相同的元素群集,通过整数型索引进行存取1.11 数组(Array类)1.12字符串(String)1.13结构(Struct)1.2顺序存取群集(线性表)通过数据项的位置进行存取。可以有序,也可以无序。1.21 有序线性表1.211 栈(Stack类)原创 2012-10-07 23:45:41 · 1473 阅读 · 1 评论 -
《数据结构与算法C#语言描述》笔记13_集合
十三.集合集合的定义集合成员是无序的、并且都是只出现一次。空集合:是不包含任何成员的集合。全域:是所有可能成员的集合。集合的操作联合:两个集合的并集交叉:两个集合的交集差异:存在于第一个集合,但不存在于第二个集合,也就是相对补集,A相对B的补集。集合的属性(性质)集合与空集合的交叉是空集合。集合与空集合的联合是集合本身。集合与自身的交叉是自身,与自身的联原创 2012-10-07 23:51:22 · 1840 阅读 · 0 评论 -
《数据结构与算法C#语言描述》笔记7_字符串、String类和StringBuilder类
七.字符串、String类和StringBuilder类String类每次改变string对象的值时,会产生一个新的对象来保存数值。访问时,只是更变了对string对象的引用。String类在System空间下。常用的String类方法Split方法 stringdata = "Mike,McMillans,3000 W.Scenic,NorthLit原创 2012-10-07 23:48:38 · 1226 阅读 · 0 评论 -
《数据结构与算法C#语言描述》笔记2_数组
二.数组Array类无法动态生长的数组,必须精确知道数组最终大小。 public abstract class Array一维数组提醒:防止数组动态,GetUpperBound(0)方法来获取错误的循环上限。Numbers.GetType().IsArray方法可判断对象是否是一个数组。多维数组不能用SetValue方法参数数组想要编写一个允许可选原创 2012-10-07 23:46:09 · 912 阅读 · 0 评论 -
《数据结构与算法C#语言描述》笔记11_链表
十一.链表两种不同的实现:基于对象的链表、基于数组的链表 数组存在的问题在无需数组中查找一个数据项是很慢的;有序(排序)数组对查找而言会更加高效,但是插入和删除操作还是很慢。 链表的定义链表是被称为节点的类对象的群集。每个节点通过一个链接到列表内的后记节点。节点包括存储数据的字段和节点引用的字段。节点引用的字段被称为是链接。对链表结尾的标记,是通过指向空(nul原创 2012-10-07 23:52:10 · 1451 阅读 · 1 评论 -
《数据结构与算法C#语言描述》笔记8_模式匹配和文本处理
八.模式匹配和文本处理正则表达式概述概述:使用正则表达式使用RegEx类以及Match类,在System.Text.RegularExpression空间下。简例: Regexreg = new Regex("the"); stringstr1 = "the quick brown fox jumped over thel原创 2012-10-07 23:49:01 · 1847 阅读 · 0 评论 -
《数据结构与算法C#语言描述》笔记12_二叉树和二叉查找树
十二.二叉树和二叉查找树树的定义树,由边连接的一些列节点。树是一种非线性的数据结构。根节点,树上最高的节点。父节点,某个节点的上层节点。子节点,某个节点的下层节点。叶子,没有任何子节点。二叉树二叉树,子节点的数量不超过两个的树。父节点的两个节点分别称为左节点和有节点。二叉查找树,是一种较小数据值存储在左节点,较大数据值存储在有节点的二叉树。构造二叉查找树原创 2012-10-07 23:51:01 · 2254 阅读 · 0 评论