<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[寒梅煮雪]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/cp1995921</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; cp1995921]]></copyright><item><title><![CDATA[二叉树的层序遍历]]></title><link>https://blog.youkuaiyun.com/cp1995921/article/details/78582415</link><guid>https://blog.youkuaiyun.com/cp1995921/article/details/78582415</guid><author>cp1995921</author><pubDate>Mon, 20 Nov 2017 15:04:41 +0800</pubDate><description><![CDATA[/*二叉树的层序遍历*/
typedef struct TreeNode *BinTree;
typedef BinTree Position;
struct TreeNode{
          ElementType Data;
          BinTree Left;
          BinTree Right;
};/*
   二叉树遍历的核心问题：二维结构的线性化
   访问左]]></description><category></category></item><item><title><![CDATA[二叉树的遍历（非递归实现）]]></title><link>https://blog.youkuaiyun.com/cp1995921/article/details/78582404</link><guid>https://blog.youkuaiyun.com/cp1995921/article/details/78582404</guid><author>cp1995921</author><pubDate>Mon, 20 Nov 2017 15:03:52 +0800</pubDate><description><![CDATA[/*二叉树的遍历-非递归（堆栈实现）*/typedef struct TreeNode *BinTree;
typedef BinTree Position;
struct TreeNode{
          ElementType Data;
          BinTree Left;
          BinTree Right;
};/*中序遍历的非递归遍历算法*/
void InO]]></description><category></category></item><item><title><![CDATA[二叉树的遍历（递归实现）]]></title><link>https://blog.youkuaiyun.com/cp1995921/article/details/78582393</link><guid>https://blog.youkuaiyun.com/cp1995921/article/details/78582393</guid><author>cp1995921</author><pubDate>Mon, 20 Nov 2017 15:03:09 +0800</pubDate><description><![CDATA[/*二叉树的遍历-递归实现*/typedef struct TreeNode *BinTree;
   typedef BinTree Position;
   struct TreeNode{
          ElementType Data;
          BinTree Left;
          BinTree Right;
      };/* 先序遍历 
   访问根结点]]></description><category></category></item><item><title><![CDATA[二叉树的定义，性质及存储]]></title><link>https://blog.youkuaiyun.com/cp1995921/article/details/78582384</link><guid>https://blog.youkuaiyun.com/cp1995921/article/details/78582384</guid><author>cp1995921</author><pubDate>Mon, 20 Nov 2017 15:02:13 +0800</pubDate><description><![CDATA[二叉树的定义二叉树是一个有穷的结点集合 
  这个集合可以为空 
  若不为空，则它是由根结点和称为其左子树TL和右子树TR的两个不相交的二叉树组成 
  二叉树有五种基本形态：空结点，只有一个根结点，只有根结点和左子树，只有根结点和右子树，有根结点和左子树及右子树  
  注：二叉树的子树有左右顺序之分 特殊二叉树：1.斜二叉树(Skewed Binary Tree)：所有二叉树树只有左儿子或者只]]></description><category></category></item><item><title><![CDATA[树的定义及术语]]></title><link>https://blog.youkuaiyun.com/cp1995921/article/details/78582344</link><guid>https://blog.youkuaiyun.com/cp1995921/article/details/78582344</guid><author>cp1995921</author><pubDate>Mon, 20 Nov 2017 14:58:38 +0800</pubDate><description><![CDATA[树的定义n个结点构成的有限集合，当n=0时，称为空树 
   树有一个称为根Root的特殊结点，用r表示 
   其余结点可分为m(m>0)个互不相交的有限集T1,T2,…,Tm。其中每个集合本身又是一棵树，称为原来树的子树(SubTree)  
   子树是不相交的 
   除了根节点以外，每个结点有且仅有一个父结点；一棵N个结点的树有N-1条边 树的术语结点的度(Degree)：结点的子树个数]]></description><category></category></item><item><title><![CDATA[静态查找方法（顺序查找与二分查找）]]></title><link>https://blog.youkuaiyun.com/cp1995921/article/details/78582298</link><guid>https://blog.youkuaiyun.com/cp1995921/article/details/78582298</guid><author>cp1995921</author><pubDate>Mon, 20 Nov 2017 14:55:36 +0800</pubDate><description><![CDATA[/*静态查找的几种方法*/
#include <stdio.h>
#define MaxSize 20typedef struct LNode *List;
struct LNode{
    ElementType Data[MaxSize];
    int length;
}; /*顺序查找(Sequential Search)，采用了建立哨兵的查找思想，最好查找复杂度O(1),最坏为O(n)]]></description><category></category></item><item><title><![CDATA[单链表实现队列链式存储]]></title><link>https://blog.youkuaiyun.com/cp1995921/article/details/78582266</link><guid>https://blog.youkuaiyun.com/cp1995921/article/details/78582266</guid><author>cp1995921</author><pubDate>Mon, 20 Nov 2017 14:53:05 +0800</pubDate><description><![CDATA[/*用单链表实现队列的链式存储*/ 
/*
   fron指向单链表的头结点，rear指向单链表的尾结点
   因为单链表的头结点做插入，删除都比较方便，但是尾结点做插入方便，删除不方便
   故我们让front指向头结点利于做删除操作，让rear指向尾结点利于做插入操作 
*/#include <stdio.h>
#include <malloc.h> 
#define ElementType i]]></description><category></category></item><item><title><![CDATA[循环队列的顺序存储实现]]></title><link>https://blog.youkuaiyun.com/cp1995921/article/details/78582248</link><guid>https://blog.youkuaiyun.com/cp1995921/article/details/78582248</guid><author>cp1995921</author><pubDate>Mon, 20 Nov 2017 14:51:55 +0800</pubDate><description><![CDATA[/*用数组实现队列的顺序存储*/
#include <stdio.h>
#define MaxSize 20
#define ElementType int
#define ERROR -1 
struct QNode{
    ElementType Data[MaxSize];
    int front;
    int rear;
}; 
typedef struct QNode *Queu]]></description><category></category></item><item><title><![CDATA[堆栈的单链表实现]]></title><link>https://blog.youkuaiyun.com/cp1995921/article/details/78582234</link><guid>https://blog.youkuaiyun.com/cp1995921/article/details/78582234</guid><author>cp1995921</author><pubDate>Mon, 20 Nov 2017 14:50:58 +0800</pubDate><description><![CDATA[#include <stdio.h>
#include <malloc.h>
#define ElementType int
/*堆栈的链式存储实现*/ 
typedef struct SNode *Stack;
struct SNode{
    ElementType Data;
    struct SNode *Next;
}; Stack CreateStack()
{   //构造一个堆]]></description><category></category></item><item><title><![CDATA[一个数组实现两个堆栈]]></title><link>https://blog.youkuaiyun.com/cp1995921/article/details/78582221</link><guid>https://blog.youkuaiyun.com/cp1995921/article/details/78582221</guid><author>cp1995921</author><pubDate>Mon, 20 Nov 2017 14:50:02 +0800</pubDate><description><![CDATA[/*堆栈的定义及入栈，出栈操作#define MAXSIZE 100
typedef struct SNode *Stack;
typedef struct SNode{
    ElementType Data[MAXSIZE];
    int Top;
}; //入栈操作 
void Push(Stack PtrS,ElementType item){
    if(PtrS->Top==MA]]></description><category></category></item><item><title><![CDATA[十字链表存储稀疏矩阵]]></title><link>https://blog.youkuaiyun.com/cp1995921/article/details/78571478</link><guid>https://blog.youkuaiyun.com/cp1995921/article/details/78571478</guid><author>cp1995921</author><pubDate>Sat, 18 Nov 2017 21:39:55 +0800</pubDate><description><![CDATA[/*广义表的定义 typedef struct GNode *GList;
struct GNode{
    int Tag; //标志域：0表示结点是单元素，1表示结点是广义表 
    union{  //子表指针域SubList与单元素数据域Data复用，即共用存储空间 
        ElementTtype Data;
        GList SubList;
    }URegi]]></description><category></category></item><item><title><![CDATA[链表]]></title><link>https://blog.youkuaiyun.com/cp1995921/article/details/78571067</link><guid>https://blog.youkuaiyun.com/cp1995921/article/details/78571067</guid><author>cp1995921</author><pubDate>Sat, 18 Nov 2017 20:38:16 +0800</pubDate><description><![CDATA[#include <stdio.h>
#include <malloc.h> typedef struct LNode *List;
struct LNode{
    int Data;
    List Next;
};
struct LNode L;
List PtrL;/*用链表遍历的方法求表长，时间复杂度为O(n)*/ 
int Length(List PtrL)
{
    List p]]></description><category></category></item><item><title><![CDATA[顺序表]]></title><link>https://blog.youkuaiyun.com/cp1995921/article/details/78571060</link><guid>https://blog.youkuaiyun.com/cp1995921/article/details/78571060</guid><author>cp1995921</author><pubDate>Sat, 18 Nov 2017 20:37:32 +0800</pubDate><description><![CDATA[#include <stdio.h>
#include <malloc.h>
#define MAXSIZE 20 
typedef struct LNode *List;
struct LNode{
    int Data[MAXSIZE];
    int Last;
}; 
struct LNode L;
List PtrL;List MakeEmpty()
{
    List PtrL;]]></description><category></category></item><item><title><![CDATA[输出精度问题]]></title><link>https://blog.youkuaiyun.com/cp1995921/article/details/78571016</link><guid>https://blog.youkuaiyun.com/cp1995921/article/details/78571016</guid><author>cp1995921</author><pubDate>Sat, 18 Nov 2017 20:31:41 +0800</pubDate><description><![CDATA[#include <stdio.h> 
int main() 
{ int a=1234; 
float b=123.456;
double c=12345.54321;
printf("\n%2d,%2.1f,%2.11f",a,b,c);
}/*
  %d 有符号10进制整数 
  %i 有符号10进制整数 
  %o 有符号8进制整数 
  %u 无符号10进制整数 
  %x 无符号的16进]]></description><category></category></item><item><title><![CDATA[两个多项式相加及相乘]]></title><link>https://blog.youkuaiyun.com/cp1995921/article/details/78570982</link><guid>https://blog.youkuaiyun.com/cp1995921/article/details/78570982</guid><author>cp1995921</author><pubDate>Sat, 18 Nov 2017 20:27:23 +0800</pubDate><description><![CDATA[#include <stdio.h>
#include <malloc.h>  typedef struct PolyNode *Polynomial;
 struct PolyNode{
    int coef;
    int expon;
    Polynomial link;
 }; void Attach(int c,int e,Polynomial *pRear) //pRear是指]]></description><category></category></item><item><title><![CDATA[最大子列和（算法复杂度优化）]]></title><link>https://blog.youkuaiyun.com/cp1995921/article/details/78570955</link><guid>https://blog.youkuaiyun.com/cp1995921/article/details/78570955</guid><author>cp1995921</author><pubDate>Sat, 18 Nov 2017 20:23:18 +0800</pubDate><description><![CDATA[#include <stdio.h>
#include <math.h>
#include <time.h>
#define MAXK 1e7clock_t start,stop;
double duration;/*一种复杂度为O(n^3)的暴力解法*/ 
int MaxSubseqSum1(int A[],int N) 
{
   int ThisSum,MaxSum=0;
   int i,j]]></description><category></category></item><item><title><![CDATA[计算多项式的值（秦九昭算法，clock()函数的使用）]]></title><link>https://blog.youkuaiyun.com/cp1995921/article/details/78570912</link><guid>https://blog.youkuaiyun.com/cp1995921/article/details/78570912</guid><author>cp1995921</author><pubDate>Sat, 18 Nov 2017 20:15:00 +0800</pubDate><description><![CDATA[//假设多项式f(x)=0*x^0+1*x^1+2*x^2+...+9*x^9
#include <stdio.h>
#include <time.h>
#include <math.h>
clock_t start,stop;
double duration;
#define MAXN 10//多项式最大项数，即多项式阶数+1 
#define MAXK 1e7//被测函数最大重复调用次数 //一]]></description><category></category></item><item><title><![CDATA[PrintN的循环执行和递归执行]]></title><link>https://blog.youkuaiyun.com/cp1995921/article/details/78570865</link><guid>https://blog.youkuaiyun.com/cp1995921/article/details/78570865</guid><author>cp1995921</author><pubDate>Sat, 18 Nov 2017 20:09:56 +0800</pubDate><description><![CDATA[/*printN是一个打印从1-N所有数字的函数*/
#include <stdio.h>/*循环执行*/
void printn(int N)
{
  int i;
  for(i=0;i<N;i++){
    printf("%d\n",i);
  }
  return;
}/*递归执行*/
/*递归执行代码简单但是占用空间资源过大，若递归调用的次数N是较大数量级则不适合用递归*/
void]]></description><category></category></item><item><title><![CDATA[递归与尾递归]]></title><link>https://blog.youkuaiyun.com/cp1995921/article/details/78570588</link><guid>https://blog.youkuaiyun.com/cp1995921/article/details/78570588</guid><author>cp1995921</author><pubDate>Sat, 18 Nov 2017 19:21:47 +0800</pubDate><description><![CDATA[1、递归

　　关于递归的概念，我们都不陌生。简单的来说递归就是一个函数直接或间接地调用自身，是为直接或间接递归。一般来说，递归需要有边界条件、递归前进段和递归返回段。当边界条件不满足时，递归前进；当边界条件满足时，递归返回。

      用递归需要注意以下两点：(1) 递归就是在过程或函数里调用自身。(2) 在使用递归策略时，必须有一个明确的递归结束条件，称为递归出口。

递归一般]]></description><category></category></item></channel></rss>