程序员数据结构笔记(二)

程序员数据结构笔记(二),第1张

程序员数据结构笔记(二),第2张

转眼又过了一周了,前面一周里面我编了一些程序:链表,长整型数相加,三元组表转置以及一些简单的函数.其实有些算法想想是很简单,不过写起来还是需要一定耐心和C基础的,如果你自己觉得各算法都很懂了,不妨开机编编试试.或许会有一些新的发现与体会.
栈和队列
  1、知识点:
  ● 栈的定义:操作受限的线性表
  ● 特点:后进先出
  ● 栈的存储结构:顺序,链接
   / push(s,d)
  ● 栈的基本操作:
   \ pop(s)

  栈定义:
  struct {
   datatype data[max_num];
   int top;
  };

  ●队列定义
  特点:先进先出
  /入队列 in_queue(Q,x)
  ●队列的操作:
  \出队列 del_queue(Q)
  ●队列存储结构:
  链队列:
  Typedef struct node{
   Datatype data;
   Struct node *next;
  }NODE;
  Typedef struct {
   NODE *front;
   NODE *rear;
  }Queue;
  顺序队列:
  struct {
   datatype data[max_num];
   int front,rear;
  };
  问题:
  队列ó线性表
  假溢出<=循環队列
  队列满,队列空条件一样<=浪费一个存储空间

  递归
  定义:问题规模为N的解依赖于小规模问题的解。问题的求解通过小规模问题的解得到。
  包括二个步骤:
  1) 递推 6!=>5!=>4!=>3!=>2!=>1!=>0!
  2) 回归 720<=120<=24<=6 <=2 <=1 <=0
  递归工作栈实现递归的机制。

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » 程序员数据结构笔记(二)

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情