图来自——《java常用算法手册》

一、算法的实现

1.流程图表示

 

算法(1)——流程图和DNS图

2.N-S图

算法(1)——流程图和DNS图

3.伪代码表示

算法(1)——流程图和DNS图

二、数据结构

1.数据结构的分类

1)线性

  • 有且仅有一个开始节点和一个终端节点
  • 所有节点最多只有一个直接前驱和直接后继节点

2)非线性

  • 一个节点可能有多个直接前驱和直接后继节点

实际应用中,数组、广义表、树结构和图结构等结构都是非线性结构

2.数据结构的存储方式

1)顺序存储

2)链式存储

3)索引存储

4)散列存储

3.数据结构

1)循环队列

front指向头,rear指向队尾的下一个位置

  • 队为空的推断:front==rear;队为满的推断:(rear+1)%MAXSIZE==front
  • 长度 :len=(rear-front+maxsize)%maxsize
  • 插入:
 public boolean enqueue(Object obj){   
        if((rear+1)%a.length==front){   
            return false;   
        }   
        a[rear]=obj;   
        rear = (rear+1)%a.length;   
        return true;   
    }   
  • 删除:
  public Object dequeue(){   
        if(rear==front){   
            return null;   
        }   
        Object obj = a[front];   
        front = (front+1)%a.length;   
        return obj;   
  }

2)二叉树

  • 对于任意一棵二叉树,如果其叶结点数为N0,而度数为2的结点总数为N2,则N0=N2+1
  • 在非空二叉树的第i层上,至多有2^(i-1)个节点(i>=1)
  • 在深度为K的二叉树上最多有2^k-1个结点(k>=1)

先序中序后序遍历

算法(1)——流程图和DNS图

 

 

 

 

相关文章:

  • 2021-07-04
  • 2021-11-23
  • 2021-08-10
  • 2021-12-22
  • 2022-12-23
  • 2022-12-23
  • 2021-12-31
猜你喜欢
  • 2021-11-16
  • 2022-01-09
  • 2021-05-12
  • 2021-05-17
  • 2022-12-23
相关资源
相似解决方案