- 博客(22)
- 收藏
- 关注
原创 数据结构-排序
》排序:使一组任意排列的对象变成一组按关键字线性有序的对象。 排序是计算机内经常进行的一种操作,其目的是将一组“无序”的记录序列调整为“有序”的记录序列。 -内部排序:整个排序过程不需要访问外存便能完成。内部排序的过程是一个逐步扩大记录的有序序列长度的过程。 -外部排序:参加排序的记录数量很大,整个序列的排序过程不可能在内存中完成,则称此类排序问题为外部排...
2018-04-27 16:25:41 681
原创 数据结构-查找
》基本概念 -查找表:用于查找的数据元素集合。查找表由同一类型的数据元素(或记录)构成。 -静态查找表: 在查找表中查看某个特定的数据元素是否在查找表中;检索某个特定元素的各种属性。 静态查找表在查找过程中查找表本身不发生变化。对静态查找表进行的查找操作称为静态查找。 -动态查找表: ...
2018-04-26 14:52:00 4708
原创 数据结构-图
》一笔画: -凡是由偶点组成的连通图,一定可以一笔画成。画时可以把任一偶点为起点,最后一定能以这个点为终点画完此图。 -凡是只有两个奇点的连通图(其余都为偶点),一定可以一笔画成。画时必须把一个奇点为起点,另一个奇点终点。》基本概念: -图的抽象数据类型ADT Graph{ 数据对象V:数据元素的集合,顶点集。 数据关系R:R=...
2018-04-19 15:28:20 674
原创 数据结构-哈夫曼树及其应用
》哈夫曼树(Huffman Tree):最优树,带权路径长度最短的树。 -哈夫曼树的形态不是唯一的,但是带权路径长度WPL是唯一的。 -路径:从树中一结点到另一结点间的分支构成的两结点间的路径。 -路径长度:路径上的分支数目。 -树的路径长度:从树根到每一个叶子结点的路径长度之和。 -树的带权路径长度:树中所有叶子结点的带权路径长度之和。 -最优二叉树(哈夫曼树...
2018-04-18 17:16:26 1020
原创 算法设计-双向线索链表的二叉树中序遍历
注:详细概念请看数据结构->五、树status InOrderTraverse_Thr(BiThrTree T,visit()){ p=T->lchild; while(p!=T){ while(p->LTag==Link) p=p->lchild; visit(p-&g...
2018-04-17 15:09:47 706
原创 算法设计-后序(根)遍历二叉树
》利用栈实现Status PostOrderTraverse(BiTree T,Status(*Visit)(TElemType e)){ //后序遍历二叉链表,每个元素调用Visit InitStack(S);P=T; while (p||StackEmpty(S)){ if(p){ ...
2018-04-17 10:48:24 424
原创 算法设计-先序(根)遍历二叉树
》利用栈实现StatusPreOrderTraverse(BiTree T,Status(*Visit)(TElemType e)){//先序遍历二叉链表,每个元素调用Visit InitStack(S);P=T; while (p||StackEmpty(S)){ if(p){ ...
2018-04-17 10:06:22 946
原创 算法设计-中序(根)遍历二叉树
》利用栈实现Status InOrderTraverse(BiTree T,Status(*Visit)(TElemType e)){ //中序遍历二叉链表,每个元素调用Visit InitStack(S);P=T; while (p||StackEmpty(S)){ if(p){ ...
2018-04-17 09:54:49 1063
原创 数据结构-树
》树:n个结点的有限集。常用操作是遍历,是一种典型的非线性数据结构,具有一对多的关系。 -在非空树中:有且仅有一个根节点(Root);当n>1时,其余结点可以分为m个(m>0)互不相交的有限集T1,T2,...,Tm,其中Ti为根的子树。树中不可以有回路。 -结点:树中的一个数据元素及指向其子树的分支。 -结点的度:结点拥有的子树数。 ...
2018-04-16 16:53:38 570
原创 算法设计-利用标记tag判别队列是否为空或满
假设一个数组squ[m]存放循环队列的元素,要使这个m个分量都得到利用,以设立标记tag为0或者1来区分尾指针和头指针值相同时队列的状态是空还是满。思路:(rear+1)%m==front 则队列满,(front+1)%m==rear则队列空。队列开始为空,设tag=0。int Algo(Queue Q,int m){ int tag=0; ...
2018-04-16 08:53:09 3057
原创 算法设计-利用栈把十进制转换成二进制
十进制转换成二进制 void conversion(){ InitStack(S); scanf(“%d”,n); while(N){ Push(S,n%2) n=n/2; } while(!StackEmpty(S)){ Pop(S,e); printf(“%d”,e); } }//conversion
2018-04-16 08:52:54 11591 1
原创 算法设计-利用栈和队列判别读入的字符串是否为回文
读入的一个字符串以‘@’为结束符,是回文返回TRUE,否则返回FALSEbool PalindromeTest(){ InitStack(S);InitQueue(Q); while((c=getchar())!='@'){ Push(S,c); EnQueue(Q,c); 同时入栈和入队 }//while w...
2018-04-16 08:52:46 8188
原创 算法设计-归并两个非递减有序排列的链表
-两个非递减有序链表归并 Void MergeList_L(LinkList &La,LinkList &Lb){ pa=La->next;pb=Lb->next; q=La; while(pa&&pb){ if(pa->data<=pb->data){q=pa;pa=pa->next;} else {t=p...
2018-04-15 18:07:51 2056
原创 算法设计-比较两个线性表的大小
设A={a1,…an},B={b1,….bm}为两个线性表。 >比较原则:首先去掉A,B两个集合的最大前缀子集之后如果A,B为空,则A=B; 如果A空B不空,A<B;如果B空A不空,A>B;如果A和B均不空,首元素大者为大。 >int Compare(SqList A,SqList B){ while(j<A.length&&j<B.lengt...
2018-04-15 18:06:02 4106 2
原创 算法设计-归并两个非递减有序排列的线性表
已知线性表La和Lb中的数据元素按值非递减有序排列,现要求将两个线性表归并为一个新的线性表Lc,Lc中的数据要求按值非递减有序。 void MergerList(List &La,List &Lb,List &Lc) { //归并a,b线...
2018-04-15 18:02:47 5845 1
原创 算法设计-利用栈逆置队列中的数据元素
利用栈逆置队列中的数据元素 void algo(Queue &Q){ Stack S;int d; InitStack(S); while(!QueueEmpty(Q)){ //如果队列飞空,出队入栈 DeQueue(Q,d); Pusu(S,d...
2018-04-15 17:55:28 5734 3
原创 算法设计-利用栈判别表达式中的括弧是否配对
假设一个算术表达式中包括()、[]、{}三种类型的括弧,编写一个判别表达式中括弧是否正确配对的函数correct(exp,tag);其中:exp为字符串类型的变量(可理解为每个字符占用一个数组元素),表示被判别的表示式。 tag为布尔型变量。思路:用栈st进行判定,遇到(、[、{时入栈,当遇到)、]、}时,检查当前栈顶元素是否是对应的(、[、{,若是则退栈,否则返回表示不配对。当整...
2018-04-15 17:52:40 5469
原创 数据结构-队列
队列(FIFO) 一种特殊的线性表,限定在队头删除在队尾插入。 - ADT Queue{ 数据对象:D={ai|ai∈ELemSet,i=1,2,…n,n>=0} 数据关系:R={<ai-1,ai>|ai-1,ai∈D,i=2,…n} 基本操作: InitQueue(&Q); //构造一个空队列 DestroyQueue(&Q); //销毁...
2018-04-15 17:17:51 180
原创 MySQL-基础SQL执行语句
语句结束要加“;”命令行客户端登陆(把mysql.exe路径添加到环境变量中)mysql –u root –p创建数据库CREATE DATABASECREATE {DATABASE|SCHEMA} [IF NOT EXISTS] dbname [DEFAULT] CHARACTER SET [=] charset_name 指定数据库的字符集 [DEFAULT] COLLATE [=] ...
2018-04-15 15:59:40 370
原创 数据结构-栈
栈(LIFO) 一种特殊的线性表,限定在表尾进行插入或删除 -表尾称为栈顶,是浮动的。表头称为栈底,是固定的。 -栈插入删除元素不需要移动数据元素。 栈的抽象数据类型 ADT Stack{ 数据对象:D={ai|ai∈ElemSet,i=1,2,…n,n>=0} 数据关系:R={<ai-1,ai>|ai-1,ai∈D,i=1,2,…n} 基本操作: InitStack(&...
2018-04-15 15:28:57 277
原创 数据结构-线性表
线性表:是由n(n>=0)个类型相同的数据元素组成的有限序列。 -数据元素可以是一个数、一个符号、一本书等。 -通常表示成 L=(a1,a2,……,an-1,an) -其中:L为线性表名称,一般用大写;an为组成该线性表的数据元素,小写。 -线性表的长度:线性表中数据元素的个数,当n=0时,线性表为空,又称为空线性表。 -相邻数据存在序偶关系。非空线性表: -存在唯一的称为“第一个”的元素;...
2018-04-15 15:25:06 453
原创 数据结构-基本概念和术语
》数据结构是一门专业技术基础课程,课程分析/研究计算机加工数据的特征、数据的逻辑结构、数据的存储结构、数据涉及的算法、以及不同特征数据应用情况。 〉结构化程序=(算法)+(数据结构) 〉面向对象的程序=(算法+数据结构)数据:客观事物的符号表示;所有能够输入到计算机中并被计算机程序处理的符号集合。数据元素: 数据的基本单位,计算机中通常作为一个整体来考虑...
2018-04-15 15:18:40 363
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人