信奥集训营笔记:Day 10

初赛知识

Posted by CR on August 15, 2018

一、数据结构

1.栈

特点:1.先进后出

2.数据从栈顶压入、删除

2.队列

特点:1.先进先出

2.数据从队尾插入,队头删除

3.树

基本概念

结点拥有的子树数量叫做结点的度。

度为0的结点叫做叶子结点或终端结点。

度不为0的结点叫做非终端结点或分支结点。

树的度是树内各结点度的最大值。

结点的层次从根开始定义起,根为第一层,根的孩子为第二层。

树中结点的最大层次称为树的深度或高度。

二叉树

定义

度最大为二的树

特点:1.每个结点至多有两棵子树

2.二叉树的子树有左右之分,其次序不能随意颠倒

性质:1.在二叉树的第i层上至多有2^(i-1)个结点(i>=1)

2.深度为k的二叉树至多有2^k-1个结点

证明:1+2+2^2+…+2^(k-1)=2^k-1

3.度为零结点数量比度为2的结点数量多1

证明: n总=n0+n1+n2① n总=n1+n2*2+1② ②-①得:n2+1-n0=0 即:n0=n2+1

满二叉树

1.所有分支结点都存在左子树和右子树,并且所有叶子都在同一层上

2.叶子只能出现在最下面一层

3.非叶子结点的度一定是2

4.同深度的二叉树中,满二叉树的结点个数最多,叶子数最多

完全二叉树

1.对一棵具有n个结点的二叉树按层序编号,如果编号为i(1<=i<=n)的结点与同样深度的满二叉树中位置完全相同,则这颗二叉树称为完全二叉树

2.叶子结点只能出现在最下面两层

3.最下层的叶子一定集中在左部连续位置

4.如果结点度为1,则该结点只有左孩子,即不存在只有字数的情况

5.同样节点数的二叉树,完全二叉树的深度最小

二叉树的遍历

先序遍历(先根遍历):根->左->右

中序遍历(中根遍历):左->根->右

后序遍历(后根遍历):左->右->根

图是由顶点的有穷非空集合和顶点之间边的集合组成

顶点:图中的数据元素(线性表:元素,树:结点)

边:顶点之间的逻辑关系(可以为空)

无向边:边没有方向

无向图:任意两点间的边都是无向边

图中任意两个顶点之间都存在边叫做完全图,有向的叫有向完全图,若无重复的边或顶点到自身的边则叫简单图

稀疏图:边较少

稠密图:边较多

二、排序算法

##1.排序算法的稳定性

如果一个序列中的两个相同数字,在算法执行完毕后其相对位置不改变,则算法稳定,反之则不稳定。