- 博客(40)
- 资源 (3)
- 收藏
- 关注
原创 学习 严蔚敏讲数据结构笔记28
二、VSAM文件VSAM(VisualStorageAccessMethod)文件是利用操作系统中提供的虚拟存储器的功能组织的文件,免除了用户为读写记录时直接对外存进行操作,对用户而言,文件只有控制区间和控制区域等逻辑存储单位。1. 文件结构2. 控制区间是用户进行依次存取的逻辑单位,可看成是一个逻辑磁道。但它的实际大小和物理磁道无关。控制区域由若干控制区间
2013-05-30 08:58:36 1046
原创 学习 严蔚敏讲数据结构笔记27
顺序文件的插入、删除和更新操作在多数情况下都采用批处理方式。此时,为处理方便,通常将顺序文件做成有序文件,称作“主文件”,同时将所有的操作做成一个“事务文件”(进过排序也成为有序文件),所谓“批处理”,就是将这两个文件“合”为一个新的主文件。具体操作相当于“归并两个有序表”。 但有两点不同:(1) 对于事务文件中的每个操作首先要判别其“合法性”;(2) 事务文件
2013-05-30 08:56:04 1053
原创 学习 严蔚敏讲数据结构笔记26
四、关于“排序方法的时间复杂度的下限”本章讨论的各种排序方法,除基数排序外,其它方法都是基于“比较关键字”进行排序的排序方法,可以证明,这类排序法可能到达的最快的时间复杂度为O(nlogn)。(基数排序不是基于“比较关键字”的排序方法,所以它不受这个限制)例如:对三个关键字进行排序的判定树如下:1. 树上的每一次“比较”都是必要的。2. 树上的叶子结点包含所
2013-05-30 08:54:39 857
原创 学习 严蔚敏讲数据结构笔记25
10.5 归并排序归并排序的基本思想是:将两个或两个以上的有序子序列“归并”为一个有序序列。在内部排序中,通常采用的是2-路归并排序。即:将两个位置相邻的有序子序列43_001void Merge(Elem SR[], Elem TR[], int i, int m, int n){ for(j = m+1, k = i
2013-05-29 07:44:42 1048
原创 学习 严蔚敏讲数据结构笔记24
三、希尔排序(又称缩小增量排序)基本思想:对带排序记录序列先作“宏观”调整,再作“围观”调整。所谓“宏观”调整,置的是“跳跃式”的插入排序。具体做法为:将记录序列分成若干子序列,分别对每个子序列进行插入排序。例如:将n个记录分成d个序列:{R[1],R[1+d],R[1+2d],…,R[1+kd]}{R[2],R[1+d],R[2+d],…,R[2+kd]}…{
2013-05-29 07:43:31 781
原创 学习 严蔚敏讲数据结构笔记23
五、哈希表的删除操作从哈希表中删除记录时,要作特殊的处理,相应地,要修改查找算法。六、对静态查找表,有时也可能找到不发生冲突的哈希函数,即此时的哈希表ASL=0,称此类哈希函数为理想(perfect)的哈希函数。 1. 顺序表和有序表的查找方法及其平均查找长度的计算方法。2. 静态查找树的构造方法和查找算法,理解静态查找树和折半查找的关系3. 熟练掌握二叉
2013-05-29 07:41:08 902
原创 学习 严蔚敏讲数据结构笔记22
一、哈希表是什么?从上面两节讨论的表示查找表的各种结构,有一个共同点:记录在表中的位置和它的关键字之间不存在一个确定的关系,因此,查找的过程为给定值依次和关键字集合中各个关键字进行比较,查找的效率取决于和给定值进行比较的关键字的个数。用这类方法表示的查找表,其平均查找长度都不为零,不同表示方法的差别仅在于:和给定值进行比较的关键字的顺序不同。对于频繁使用的查找表,希望ASL=0。只有一
2013-05-29 07:38:34 665
原创 学习 严蔚敏讲数据结构笔记21
三、B-树1.B-树的定义B-树是一种平衡的多路查找树:在m阶的B-树上,每个非终端结点可能含有:n个关键字Ki(in个指向记录的指针Di(1n+1个指向子树的指针Ai(0非叶结点中的多个关键字均自小至大有序排列,即:K12n;且Ai-1所指字数上所有关键字均小于KiAi所指子树上所有关键字均大于Ki树中所有叶子结点均不带信息,且在树中的同一层次上;根结
2013-05-29 07:36:33 806
原创 学习 严蔚敏讲数据结构笔记20
9.2动态查找树表抽象数据类型动态查找表的定义如下:ADT DynamicSearchTable{ 数据对象D:D是具有相同特性的数据元素的集合。每个数据元素含有类型相同的关键字,可唯一标识数据元素。 数据关系R:数据元素同属一个集合}基本操作P:InitDSTable(&DT);DestroyDSTable(&DT);Sea
2013-05-28 07:04:05 982
原创 学习 严蔚敏讲数据结构笔记19
第九章查找表查找表:是由同一类型的数据元素(或记录)构成的集合。对查找表经常进行的操作:1) 查询某个“特定的”数据元素是否在查找表中;2) 检索某个“特定的”数据元素的各种属性3) 在查找表中插入一个数据元素4) 从查找表中删去某个数据元素静态查找表仅作查询和检索操作的查找表动态查找表有时在查询之后,还需要将“查询”结果为“不再查找
2013-05-28 07:02:52 778
原创 学习 严蔚敏讲数据结构笔记18
遍历是所有非线性结构(包括二叉树,树,图和广义表)的操作基础不同的应用需要应用不同的搜索路径1. 深度优先搜索遍历 2广度优先搜索遍历深度优先搜索遍历:二叉树先序,中序,后序树 先根,后根图 先访问顶点,后访问顶点广义表先遍历表头,先遍历表尾深度优先搜索遍历算法的两种形式:递归,非递归6.12已知L[i]和R[i](i=1,2,…n-1
2013-05-28 07:01:28 1426
原创 学习 严蔚敏讲数据结构笔记17
5.5 广义表的表示方法头、尾指针的链表结构表结点: Tag=1HpTp 原子结点:Tag=0Data构造存储结构的两种分析方法:1) 空表 ls=NIL非空表若表头为原子,则为0Data
2013-05-28 06:59:53 847
原创 学习 严蔚敏讲数据结构笔记16
7.6 两点之间的最短路径问题从原点到其余各点的最短路径。算法的基本思想是:依路径长度递增的次序求得各条路径假设图中所示为从原点到其余各点之间的最短路径,则在这些路径中,必然存在一条长度最短者。在这条路径上,必定只含有一条(权值最小)弧,由此,只要在所有从原点出发的弧中查找权值最小者;长度次短的路径可能有两种情况:它可能是从原点直接到改点的路径;也可能是,从原点a再到该点
2013-05-28 06:58:19 871
原创 学习 严蔚敏讲数据结构笔记15
广度优先搜索遍历图从图中的某个顶点V0出发,并在访问此顶点之后依次访问V0的所有未被访问的邻接点,之后按这些顶点被访问的先后次序依次访问它们的邻接点,直至图中所有和V0有路径相通的顶点都被访问到。若此时图中尚有顶点未被访问,则另选图中一个未曾被访问的顶点作为起始点,重复上述过程,直至图中所有顶点都被访问到为止。26_002void BFSTraverse
2013-05-28 06:57:18 1171
原创 学习 严蔚敏讲数据结构笔记14
第七章图7.1抽象数据类型图的定义7.2图的存储表示7.3图的遍历7.4最小生成树7.5重(双)连通图和关节点7.6两点之间的最短路径问题7.7拓扑排序7.8关键路径 7.1抽象数据类型图的定义ADT Graph{ 数据对象V:V是具有相同特性的数据元素的集合,称为顶点集。 数据关系R:R={VR}VR={|v
2013-05-28 06:55:57 1057
原创 学习 严蔚敏讲数据结构笔记13
6.6树和森林的表示方法树的三种存储结构一、双亲表示法22_001#define MAX_TREE_SIZE 100//结点结构typedef struct PTNode{ Elem data; int parent; //双亲位置域}PTNode;
2013-05-28 06:54:46 916
原创 学习 严蔚敏讲数据结构笔记12
6.3 二叉树的存储结构一、二叉树的顺序存储表示#define MAX_TREE_SIZE 100 //二叉树的最大结点数typedef TElemType SqBiTree[MAX_TREE_SIZE];//0号单元存储根结点SqBiTree bt;二、二叉树的链式存储表示1.二叉链表2.三叉树3.双亲链表4.线索链表 1. 二叉链表
2013-05-28 06:53:25 822
原创 学习 严蔚敏讲数据结构笔记11
2.5删除有序表中所有值大于且小于的数据元素。分析:删除的结点的特点while(p && p->data { pre=p; p=p->next; if(p) { while(p&& p->data p
2013-05-28 06:50:46 1523 2
原创 学习 严蔚敏讲数据结构笔记10
第五章数组和广义表5.1 数组的类型定义5.2 数组的顺序表示和实现5.3 稀疏矩阵的压缩存储5.4 广义表的类型定义5.5 广义表的表示方法5.6 广义表操作的递归函数 1.1 数组的类型定义//没有记全ADT Array{数据对象:D={aj1,j2…j |ji=0,…bi-1,i=1,2,…n}数据关系:R={R1,R2
2013-05-27 06:05:57 2248 2
原创 学习 严蔚敏讲数据结构笔记09
1.2 串的表示和实现如果在程序设计语言中,串只是作为输入或输出的常量出现,则只需存储此串的串值,即字符序列即可。但在多数非数值处理的程序中,串也以变量的形式出现。 一、串的定长顺序存储表示二、串的堆分配存储表示三、串的块链存储表示 一、串的定长顺序存储表示#define MAXSTRLEN 255 //用户可在255以内定义最大串长typedef un
2013-05-27 06:02:54 1182
原创 学习 严蔚敏讲数据结构笔记08
例六、实现递归当在一个函数的运行期间调用另一个函数时,在运行该被调用函数之前,需先完成三件事:将所有的实在参数、返回地址等信息传递给被调用函数保存;为被调用函数的局部变量分配存储区;将控制转移到被调用函数的入口。从被调用函数返回调用函数之前,应该完成:保存被调用函数的计算结果;释放被调用函数的数据区;依照被调用函数保存的返回地址将控制转移到调用函数。多个函数嵌套
2013-05-27 06:01:05 1443
原创 学习 严蔚敏讲数据结构笔记07
07_001void conversion(){ InitStack(S); scanf("%d",N); while(N) { Push(S,N%8); N = N/8; }
2013-05-27 05:57:54 1552
原创 学习 严蔚敏讲数据结构笔记06
五、其它形式的链表1.双向链表06_001//线性表的双向链表存储结构typedef struct DuLNode{ ElemType data; //数据域 struct DuLNode *prior; //指向前驱的指针域 struct DuLNode *next; //指向后
2013-05-27 05:55:58 1536
原创 学习 严蔚敏讲数据结构笔记05
04_006Status ListInsert_L(LinkList L, int pos, ElemType e){ p = L; j = 0; while(p && j { p = p->next;
2013-05-25 14:37:55 1184 1
原创 学习 严蔚敏讲数据结构笔记04
2.2线性表类型的实现 –顺序映象用一组地址连续的存储单元依次存放线性表中的数据元素。线性表的起始地址,称作线性表的基地址。 以“存储位置相邻”表示有序对i-1,ai>即:LOC(ai) = LOC(ai-1)+C一个数据元素所占存储量所有数据元素的存储位置均取决于第一个数据元素的存储位置LOC(ai)=LOC(a1)+(i-1)*C 基地址顺序映
2013-05-25 14:36:17 786
原创 学习 严蔚敏讲数据结构笔记03
四、算法的存储空间需求算法的空间复杂度S(n)=O(g(n))表示随着问题规模n的增大,算法运行所需存存储量的增长率与g(n)的增长率相同。 算法的存储量包括:1.输入数据所占空间;2.程序本身所占空间;3.辅助变量所占空间。 若输入数据所占空间只取决于问题本身,和算法无关,则只需要分析除输入和程序之外的辅助变量所占额外空间。 若所需额外空间相对于输入数
2013-05-25 14:32:03 1124
原创 学习 严蔚敏讲数据结构笔记02
1.3算法和算法的衡量一、算法算法是为了解决某类问题而规定的一个有限长的操作序列。一个算法必须满足以下五个重要特性:1有穷性 2确定性 3可行性 4有输入 5有输出1有穷性 对于任意一组合法的输入值,在执行有穷步骤之后一定能结束,即:算法中的每个步骤都能在有限时间内完成; 2.确定性对于某种情况下所应执行的操作,在算法中都有确切的规定,使算法的执行者或者阅读者都能明确其
2013-05-25 14:28:51 902
原创 学习 严蔚敏讲数据结构笔记01
主讲人:严蔚敏 第一章 绪论1.1数据结构讨论的范畴1.2基本概念1.3算法及其量度 1.1数据结构讨论的范畴NiklausWirth Algorithm+ Data Structures = Programs程序设计:为计算机处理问题编制一组指令集算法:处理问题的策略数据结构:问题的数学模型 例如:数值计算的程序设计问题结构静力分析计算
2013-05-25 14:25:45 1132
原创 以前学习C语言资料6
MQ期末押题main(){ int a=14,b=15,x; char c='A'; x=(a&&b)&&(c printf("%d",x);} /* 1 */main(){ int x,y; scanf("%d",&x); y=x>12?x+10:x-12; /* kao tiao jian yun suan fu */
2013-05-25 13:55:31 850
原创 以前学习C语言资料5
TX41学习static定义静态变量的用法#include#includevarfunc(){ int var=0; static int static_var=0; printf("\40:var equal %d \n",var); printf("\40:static var equal %d \n",static_var); printf("\n")
2013-05-25 13:53:59 780
原创 以前学习C语言资料4
TX31请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续判断第二个字母。LN:用情况语句比较好,如果第一个字母一样,则判断用情况语句或if语句判断第二个字母SHN:仔细看一下这个吧,看看它有什么优点吧!优点是只有在输入Y时才能跳出,这点很好。不足呢?就是在输入第二个字母时要换大小写,那样用起来很不方便,能不能改进一下呢?可以,只要在case ’ 大写字母’: 后加
2013-05-25 13:52:27 691
原创 以前学习C语言资料3
TX21猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。LN:采取逆向思维的方法,从后往前推断。SHN:在数中我们可以这样计算第十天为1个,第九天为2*1+1,第八天为2(2*1+1)+1,第七天为2 [2(
2013-05-25 13:51:21 650
原创 以前学习C语言资料2
TX11古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?LN:兔子的规律为数列1,1,2,3,5,8,13,21....#include#includemain(){ long f1; long f2; int i; f1=f2=1; for(i=1;i {
2013-05-25 13:46:19 785
原创 以前学习C语言资料1
TX:表示第几题LN:表示思路SHN:表示怎样想UKD:问题TW:答案WGQ:例子TX1有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?LN:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去掉不满足条件的排列。SHN:我们先定义每位上是一个整数,每位上分别可以为1、2、3、4,然后建立三重循环,这样我们可找出所有的
2013-05-25 13:44:44 860
原创 经济学原理 笔记1
劳动市场经济学微观经济学(虫瞰)只见树木不见森林宏观经济学(鸟瞰)只见森林不见树木市场可以搞笑的实现资源的合理配置政府只能尊重市场,而不是凌驾于市场之上对市场的校偏传统经济学的前提供给恒等于需求供给自创需求
2013-05-08 14:21:44 745
原创 函数strlen实现
#includeint strlen1(const char * src){ int len = 0; while(*src ++ != '\0') { len ++; } return len;}int strlen2(const char * src){ const char *temp = src; while(*src ++ != '\
2013-05-08 11:31:15 785
原创 渥瑞达 Linux Unix下C语言软件开发视频教程 笔记4
Chapter 2 Data Types and Variables1. VARIABLE AND BASEIC DATATYPESAs a programmer, you will frequently wantyour program to “remember” a value. For example, if your program requests avalue
2013-05-05 13:55:57 2670 2
原创 渥瑞达 Linux Unix下C语言软件开发视频教程 笔记3
Chapter 1 Getting Started1.ASIMPLE EXAMPLEThis program prints out the message “Thisis a C program”Example1:#include int main(){ printf( "This is a C Program\n" );
2013-05-05 12:08:07 2332
原创 渥瑞达 Linux Unix下C语言软件开发视频教程 笔记2
File system securityIn your unix stuff directory, type% ls –l (l for long listing!)You will see that you now get lots of details about the contents of you directory, similar to the example below
2013-05-04 10:54:00 2592 1
原创 渥瑞达 Linux Unix下C语言软件开发视频教程 笔记1
UNIX Development EnvironmentThe Basic KnowledgeThe General CommandUnix ShellMakefile The Basic KnowledgUnix/Linux systems are multi-user and multi-taskingHave multiple users on the sam
2013-05-04 10:52:58 2827
js获得Gridview中选中checkbox行的信息
2014-06-17
VC开发中用到的iphlpapi 相关文件
2013-09-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人