09 2018 档案
摘要:栈(stack)通常也被称之为“堆栈”。它的本质是线性表。堆(heap)通常我们也称它为优先队列,本质是树。此处讲述一些stack的应用。 平衡符号 编译器在检查(){}这样成对出现的符号所造成的语法错误时,通常并不需要去设计一个很复杂的程序去判断。而是使用一个简单的...
阅读全文
摘要:直接上代码:#define _CRT_SECURE_NO_WARNINGS#include#includetypedef struct Node List;struct Node{ int m; int n; List * next;};List *CreatList...
阅读全文
摘要:问题引入:现在有1,2,3,...,n个数字,按照顺序入栈,不同的堆栈操作(Push ,Pop)顺序可能会得到不同的堆栈输出序列。请问n个数字共有多少种不同的输出序列。解决过程:由于必须先入栈,才能出栈。对一个空栈的Pop是非法的操作。因此K次连续的出栈,在它之前必有...
阅读全文
摘要:合并两个有序链表,使得合并后的结果仍然是有序的,直观的做法就是从两个链表的首节点开始比较,将其中小的那个链接到新链表之中,(如果不想破坏原链表,那么需要将该节点拷贝一份,然后链接到新链表之中。)然后将该节点对应的原链表的遍历指针向后移动(p = p->next)一直这...
阅读全文
摘要:第一次看《数据结构与算法分析——C语言描述》这本书的时候,被书中一上来就给的最大子序列和问题给直接镇住了。直观感觉就是好难,好牛逼。问题描述:给定整数k1,k2,k3,...,kn,求从第i个数到第j个数的最大值。(如果所有整数均为负数,那么最大子序列和规定为0)根据...
阅读全文