数据结构
wangweixaut061
这个作者很懒,什么都没留下…
展开
-
栈的应用 算术表达式的计算
参见 http://www.cnblogs.com/michaelhuwei/tag/%E8%A1%A8%E8%BE%BE%E5%BC%8F%E8%AE%A1%E7%AE%97/转载 2011-11-03 23:01:37 · 423 阅读 · 0 评论 -
【概念】【二叉树】深度优先遍历、广度优先遍历和非递归遍历
二叉树的深度优先遍历、广度优先遍历和非递归遍历二叉树的遍历:D:访问根结点,L:遍历根结点的左子树,R:遍历根结点的右子树。给定一棵二叉树的前序遍历序列和中序遍历序列可以惟一确定一棵二叉树。二叉树的深度优先遍历的非递归的通用做法是采用栈,广度优先遍历的非递归的通用做法是采用队列。深度优先遍历二叉树。1. 中序遍历(LDR)的递归算法:若二转载 2012-01-04 13:14:55 · 827 阅读 · 0 评论 -
二叉树遍历算法及实现
怎么构造一颗已知的二叉树,用几种常规的算法(先序,中序,后序,层次)遍历二叉树。希望能给有需要人带来帮助,也希望能得到大家的指点。有关C#数据结构的书在书店里找到,网上也是极少,如果你有好的学习资源别忘了告诉我。先谢了。数据结构对一个程序员来说,现在是太重要了,数据结构学得好的人,逻辑思维一定很强,在程序设计的时候,就不会觉得太费劲了。而且是在设计多层应用程序的时候,真是让人绞尽脑汁啊。趁自己还年转载 2012-01-04 07:47:00 · 896 阅读 · 1 评论 -
二叉树概念及递归与非递归遍历
一、数据结构分类(一)按逻辑结构集合(无辑关系)线性结构(线性表):数组、链表、栈、队列非线性结构:树、图、多维数组(二)按存储结构顺序(数组)储结构、链式储结构、索引储结构、散列储结构二、二叉树相关性质结点的度:一个结点的子树的个数记为该结点的度.树的度:所有节点中度数最大的结节的度数,叶子节点的度为零。树的高度:一棵树转载 2012-01-04 07:41:00 · 4448 阅读 · 0 评论 -
排序算法总览(方便自己查阅)
概念:http://en.wikipedia.org/wiki/Sorting_algorithm#实战:http://www.sorting-algorithms.com/http://www.concentric.net/~ttwang/sort/sort.htm原创 2011-12-26 16:47:16 · 536 阅读 · 0 评论 -
【单链表】排序
待补充原创 2011-12-20 22:28:37 · 394 阅读 · 0 评论 -
【单链表】返回倒数的第index个节点
方法 1:1. 设置两个指针 p1, p22. 首先 p1 和 p2 都指向 head3. 然后 p2 向前走 index 步,这样 p1 和 p2 之间就间隔 index 个节点4. 然后 p1 和 p2 同时向前步进,当 p2 到达最后一个节点时,p1 就是倒数第 index 个节点了node *fun(node * head, int index){ nod原创 2011-12-15 23:20:00 · 627 阅读 · 0 评论 -
【单链表】逆序
逆置单链表(带头结点的头插法)void reverse(LinkList L) //链表头指针不需改变;函数设置为无返回值{ LNode*p,*q; p= L->next; //不带头结点且包含所有源数据的链表 L->next=NULL; //原链表置空 //头插法构造新链表 whil原创 2011-12-14 22:33:09 · 594 阅读 · 0 评论 -
【单链表】判断单链表是否有环
typedef struct LinkedList{ int data; LinkedList* pNext; }LinkedList;/*** test 6, write a function to check whether there is loop in a linked list* @param pList [input] linked li转载 2011-12-15 22:45:19 · 360 阅读 · 0 评论 -
【单链表】两递增链表合并
void MergList(LNode *La, LNode *Lb, LNode *Lc){ LNode *pa, *pb, *pc; pa = La->next; pb = Lb->next; pc = Lc = La; while(pa && pb){ if(pa->data data){ // 小的转载 2011-12-20 22:18:20 · 551 阅读 · 0 评论 -
【排序】快速排序
快速排序算法QuickSort void QuickSort(SeqList R,int low,int high) { //对R[low..high]快速排序 int pivotpos; //划分后的基准记录的位置 if(low pivotpos=Partition(R,low,high); //对R[low..high]做划分转载 2012-02-28 17:35:33 · 395 阅读 · 0 评论