<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[aeg84268的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/aeg84268</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; aeg84268]]></copyright><item><title><![CDATA[希尔排序]]></title><link>https://blog.youkuaiyun.com/aeg84268/article/details/101807045</link><guid>https://blog.youkuaiyun.com/aeg84268/article/details/101807045</guid><author>aeg84268</author><pubDate>Wed, 18 Dec 2013 15:40:00 +0800</pubDate><description><![CDATA[希尔排序，也称递减增量排序算法，是插入排序的一种更高效的改进版本。希尔排序是非稳定排序算法。
希尔排序是基于插入排序的以下两点性质而提出改进方法的：

插入排序在对几乎已经排好序的数据操作时， 效率高， 即可以达到线性排序的效率
但插入排序一般来说是低效的， 因为插入排序每次只能将数据移动一位

算法实现
原始的算法实现在最坏的情况下需要进行O(n2)的比较和交换。V. P...]]></description><category></category></item><item><title><![CDATA[无向图的邻接多重表存储]]></title><link>https://blog.youkuaiyun.com/aeg84268/article/details/101807044</link><guid>https://blog.youkuaiyun.com/aeg84268/article/details/101807044</guid><author>aeg84268</author><pubDate>Wed, 18 Dec 2013 13:51:00 +0800</pubDate><description><![CDATA[/* c7-4.h 无向图的邻接多重表存储表示 */
 #define MAX_VERTEX_NUM 20
 typedef enum{unvisited,visited}VisitIf;
 typedef struct EBox
 {
   VisitIf mark; /* 访问标记 */
   int ivex,jvex; /* 该边依附的两个顶点的位置 */
 ...]]></description><category></category></item><item><title><![CDATA[有向图的十字链表存储]]></title><link>https://blog.youkuaiyun.com/aeg84268/article/details/101807043</link><guid>https://blog.youkuaiyun.com/aeg84268/article/details/101807043</guid><author>aeg84268</author><pubDate>Wed, 18 Dec 2013 13:49:00 +0800</pubDate><description><![CDATA[/* c7-3.h 有向图的十字链表存储表示 */
 #define MAX_VERTEX_NUM 20
 typedef struct ArcBox
 {
   int tailvex,headvex; /* 该弧的尾和头顶点的位置 */
   struct ArcBox *hlink,*tlink; /* 分别为弧头相同和弧尾相同的弧的链域 */
   InfoTy...]]></description><category></category></item><item><title><![CDATA[图的邻接表存储]]></title><link>https://blog.youkuaiyun.com/aeg84268/article/details/101807042</link><guid>https://blog.youkuaiyun.com/aeg84268/article/details/101807042</guid><author>aeg84268</author><pubDate>Wed, 18 Dec 2013 13:45:00 +0800</pubDate><description><![CDATA[/* c7-2.h 图的邻接表存储表示 */
 #define MAX_VERTEX_NUM 20
 typedef enum{DG,DN,AG,AN}GraphKind; /* {有向图,有向网,无向图,无向网} */
 typedef struct ArcNode
 {
   int adjvex; /* 该弧所指向的顶点的位置 */
   struct ArcNo...]]></description><category></category></item><item><title><![CDATA[图的邻接矩阵存储]]></title><link>https://blog.youkuaiyun.com/aeg84268/article/details/101807041</link><guid>https://blog.youkuaiyun.com/aeg84268/article/details/101807041</guid><author>aeg84268</author><pubDate>Wed, 18 Dec 2013 13:42:00 +0800</pubDate><description><![CDATA[/* c7-1.h 图的数组(邻接矩阵)存储表示 */ 
#define INFINITY INT_MAX  /* 用整型最大值代替∞ */ 
#define MAX_VERTEX_NUM 20  /* 最大顶点个数 */ 
typedef enum{DG,DN,AG,AN}GraphKind; /* {有向图,有向网,无向图,无向网}*/
typedef struct { ...]]></description><category></category></item><item><title><![CDATA[树的二叉链表(孩子－兄弟)存储]]></title><link>https://blog.youkuaiyun.com/aeg84268/article/details/101807040</link><guid>https://blog.youkuaiyun.com/aeg84268/article/details/101807040</guid><author>aeg84268</author><pubDate>Wed, 18 Dec 2013 13:37:00 +0800</pubDate><description><![CDATA[/* c6-5.h 树的二叉链表(孩子－兄弟)存储表示 */
 typedef struct CSNode
 {
   TElemType data;
   struct CSNode *firstchild,*nextsibling;
 }CSNode,*CSTree;


 /* bo6-5.c 树的二叉链表(孩子－兄弟)存储(存储结构由c6-5.h定义)的基本...]]></description><category></category></item><item><title><![CDATA[树的双亲表存储]]></title><link>https://blog.youkuaiyun.com/aeg84268/article/details/101807039</link><guid>https://blog.youkuaiyun.com/aeg84268/article/details/101807039</guid><author>aeg84268</author><pubDate>Wed, 18 Dec 2013 13:36:00 +0800</pubDate><description><![CDATA[/* c6-4.h 树的双亲表存储表示 */
 #define MAX_TREE_SIZE 100
 typedef struct
 {
   TElemType data;
   int parent; /* 双亲位置域 */
 } PTNode;
 typedef struct
 {
   PTNode nodes[MAX_TREE_SIZE];
   in...]]></description><category></category></item><item><title><![CDATA[二叉树的二叉线索存储]]></title><link>https://blog.youkuaiyun.com/aeg84268/article/details/101807037</link><guid>https://blog.youkuaiyun.com/aeg84268/article/details/101807037</guid><author>aeg84268</author><pubDate>Wed, 18 Dec 2013 10:31:00 +0800</pubDate><description><![CDATA[/* c6-3.h 二叉树的二叉线索存储表示 */
 typedef enum{Link,Thread}PointerTag; /* Link(0):指针,Thread(1):线索 */
 typedef struct BiThrNode
 {
   TElemType data;
   struct BiThrNode *lchild,*rchild; /* 左右孩子指...]]></description><category></category></item><item><title><![CDATA[二叉树的二叉链表存储]]></title><link>https://blog.youkuaiyun.com/aeg84268/article/details/101807038</link><guid>https://blog.youkuaiyun.com/aeg84268/article/details/101807038</guid><author>aeg84268</author><pubDate>Wed, 18 Dec 2013 10:16:00 +0800</pubDate><description><![CDATA[/* c6-2.h 二叉树的二叉链表存储表示 */
 typedef struct BiTNode
 {
   TElemType data;
   struct BiTNode *lchild,*rchild; /* 左右孩子指针 */
 }BiTNode,*BiTree;


 /* bo6-2.c 二叉树的二叉链表存储(存储结构由c6-2.h定义)的基本操作(...]]></description><category></category></item><item><title><![CDATA[二叉树的顺序存储]]></title><link>https://blog.youkuaiyun.com/aeg84268/article/details/101807035</link><guid>https://blog.youkuaiyun.com/aeg84268/article/details/101807035</guid><author>aeg84268</author><pubDate>Wed, 18 Dec 2013 10:12:00 +0800</pubDate><description><![CDATA[/* c6-1.h 二叉树的顺序存储表示 */
 #define MAX_TREE_SIZE 100 /* 二叉树的最大结点数 */
 typedef TElemType SqBiTree[MAX_TREE_SIZE]; /* 0号单元存储根结点 */

 typedef struct
 {
   int level,order; /* 结点的层,本层序号(按满二叉树计...]]></description><category></category></item><item><title><![CDATA[串的块链存储表示]]></title><link>https://blog.youkuaiyun.com/aeg84268/article/details/101807036</link><guid>https://blog.youkuaiyun.com/aeg84268/article/details/101807036</guid><author>aeg84268</author><pubDate>Wed, 18 Dec 2013 10:10:00 +0800</pubDate><description><![CDATA[/* c4-3.h 串的块链存储表示 */
 #define CHUNKSIZE 4 /* 可由用户定义的块大小 */
 typedef struct Chunk
 {
   char ch[CHUNKSIZE];
   struct Chunk *next;
 }Chunk;
 typedef struct
 {
   Chunk *head,*tail; /*...]]></description><category></category></item><item><title><![CDATA[串的堆分配存储]]></title><link>https://blog.youkuaiyun.com/aeg84268/article/details/101807033</link><guid>https://blog.youkuaiyun.com/aeg84268/article/details/101807033</guid><author>aeg84268</author><pubDate>Wed, 18 Dec 2013 10:05:00 +0800</pubDate><description><![CDATA[/* c4-2.h 串的堆分配存储 */
 typedef struct
 {
   char *ch; /* 若是非空串,则按串长分配存储区,否则ch为NULL */
   int length; /* 串长度 */
 }HString;


 /* bo4-2.c 串采用堆分配存储结构(由c4-2.h定义)的基本操作(15个) */
 /* 包括算法4.1、4...]]></description><category></category></item><item><title><![CDATA[串的定长顺序存储表示]]></title><link>https://blog.youkuaiyun.com/aeg84268/article/details/101807034</link><guid>https://blog.youkuaiyun.com/aeg84268/article/details/101807034</guid><author>aeg84268</author><pubDate>Wed, 18 Dec 2013 00:21:00 +0800</pubDate><description><![CDATA[/* c4-1.h 串的定长顺序存储表示 */
 #define MAXSTRLEN 40 /* 用户可在255以内定义最大串长（1个字节） */
 typedef char SString[MAXSTRLEN+1]; /* 0号单元存放串的长度 */


 /* bo4-1.c 串采用定长顺序存储结构(由c4-1.h定义)的基本操作(14个) */
 /* SStri...]]></description><category></category></item><item><title><![CDATA[顺序队列]]></title><link>https://blog.youkuaiyun.com/aeg84268/article/details/101807031</link><guid>https://blog.youkuaiyun.com/aeg84268/article/details/101807031</guid><author>aeg84268</author><pubDate>Tue, 17 Dec 2013 23:49:00 +0800</pubDate><description><![CDATA[/* c3-3.h 队列的顺序存储结构(可用于循环队列和非循环队列) */
 #define MAXQSIZE 5 /* 最大队列长度(对于循环队列，最大队列长度要减1) */
 typedef struct
 {
   QElemType *base; /* 初始化的动态分配存储空间 */
   int front; /* 头指针,若队列不空,指向队列头元素 */
 ...]]></description><category></category></item><item><title><![CDATA[单链队列]]></title><link>https://blog.youkuaiyun.com/aeg84268/article/details/101807032</link><guid>https://blog.youkuaiyun.com/aeg84268/article/details/101807032</guid><author>aeg84268</author><pubDate>Tue, 17 Dec 2013 23:48:00 +0800</pubDate><description><![CDATA[/* c3-2.h 单链队列－－队列的链式存储结构 */
 typedef struct QNode
 {
   QElemType data;
   struct QNode *next;
 }QNode,*QueuePtr;

 typedef struct
 {
   QueuePtr front,rear; /* 队头、队尾指针 */
 }LinkQue...]]></description><category></category></item><item><title><![CDATA[栈的顺序存储表示]]></title><link>https://blog.youkuaiyun.com/aeg84268/article/details/101807029</link><guid>https://blog.youkuaiyun.com/aeg84268/article/details/101807029</guid><author>aeg84268</author><pubDate>Tue, 17 Dec 2013 23:46:00 +0800</pubDate><description><![CDATA[/* c3-1.h 栈的顺序存储表示 */
 #define STACK_INIT_SIZE 10 /* 存储空间初始分配量 */
 #define STACKINCREMENT 2 /* 存储空间分配增量 */
 typedef struct SqStack
 {
   SElemType *base; /* 在栈构造之前和销毁之后，base的值为NULL */
  ...]]></description><category></category></item><item><title><![CDATA[双向循环链表]]></title><link>https://blog.youkuaiyun.com/aeg84268/article/details/101807030</link><guid>https://blog.youkuaiyun.com/aeg84268/article/details/101807030</guid><author>aeg84268</author><pubDate>Tue, 17 Dec 2013 23:44:00 +0800</pubDate><description><![CDATA[/* c2-4.h 线性表的双向链表存储结构 */
 typedef struct DuLNode
 {
   ElemType data;
   struct DuLNode *prior,*next;
 }DuLNode,*DuLinkList;


 /* bo2-5.c 双链循环线性表(存储结构由c2-4.h定义)的基本操作(14个) */
 Status...]]></description><category></category></item><item><title><![CDATA[单循环链表的表示和实现]]></title><link>https://blog.youkuaiyun.com/aeg84268/article/details/101807027</link><guid>https://blog.youkuaiyun.com/aeg84268/article/details/101807027</guid><author>aeg84268</author><pubDate>Tue, 17 Dec 2013 23:43:00 +0800</pubDate><description><![CDATA[/* bo2-4.c 设立尾指针的单循环链表(存储结构由c2-2.h定义)的12个基本操作 */
 Status InitList_CL(LinkList *L)
 { /* 操作结果：构造一个空的线性表L */
   *L=(LinkList)malloc(sizeof(struct LNode)); /* 产生头结点,并使L指向此头结点 */
   if(!*L) /*...]]></description><category></category></item><item><title><![CDATA[线性表的单链表表示和实现]]></title><link>https://blog.youkuaiyun.com/aeg84268/article/details/101806860</link><guid>https://blog.youkuaiyun.com/aeg84268/article/details/101806860</guid><author>aeg84268</author><pubDate>Tue, 17 Dec 2013 23:39:00 +0800</pubDate><description><![CDATA[/* c2-2.h 线性表的单链表存储结构 */
 struct LNode
 {
   ElemType data;
   struct LNode *next;
 };
 typedef struct LNode *LinkList; /* 另一种定义LinkList的方法 */


 /* bo2-2.c 单链表线性表(存储结构由c2-2.h定义)的基本操作...]]></description><category></category></item><item><title><![CDATA[线性表的顺序表示和实现]]></title><link>https://blog.youkuaiyun.com/aeg84268/article/details/101806862</link><guid>https://blog.youkuaiyun.com/aeg84268/article/details/101806862</guid><author>aeg84268</author><pubDate>Tue, 17 Dec 2013 23:37:00 +0800</pubDate><description><![CDATA[/* c2-1.h 线性表的动态分配顺序存储结构 */
 #define LIST_INIT_SIZE 10 /* 线性表存储空间的初始分配量 */
 #define LISTINCREMENT 2 /* 线性表存储空间的分配增量 */
 typedef struct
 {
   ElemType *elem; /* 存储空间基址 */
   int length; /...]]></description><category></category></item></channel></rss>