- 断点调试步骤
(1)打断点
鼠标在行序号前点击即可
(2)点击调试->开始调试或直接按F5快捷键
(3)进入调试状态,进行调试
如图:
![](https://i-blog.csdnimg.cn/blog_migrate/a33eb4a64d2c5ea283c1df56df962b4b.jpeg)
注:调试时需将当前文件或工程用Debug配置构建。
2.了解数据结构
(1)什么是数据结构
数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合,大部分数据结构的实现都需要借助C语言中的指针和结构体类型。
常见的数据结构:
树形数据结构
线性数据结构
图形线性结构
(2)数据的存储结构
顺序存储结构:借助元素在存储器中的相对位置来表示数据元素间的逻辑关系
链式存储结构:借助指示元素存储地址的指针表示数据元素间的逻辑关系
索引存储结构:提高数据的检索速度
散列存储结构
3.算法和算法分析
(1)算法的定义:
算法是由若干条指令所组成的有穷序列,其中每条指令表示计算机的一个或多个操作。
(2)算法的特性
有穷性
确定性
可行性
输入
输出
(3)算法效率评价
时间复杂度
空间复杂度
4.二叉树
(1)二叉树的定义:
二叉树是n(n >= 0)个结点的有限集合,该集合或空集(称为空二叉树),或者由一个根结点和两颗互不相交的、分别称为根节点的左子树和右子树的二叉树组成。
(2)遍历二叉树
先序遍历二叉树
访问根节点
先序遍历根节点的左子树
先序遍历根节点的右子树
代码如下:
void PreOrder(Bt *T){ //先序遍历二叉树
if(T==NULL) return; //递归调用的结束条件
else{
printf("%c",T->data); //输出节点的数据域
PreOrder(T->lchild); //先序递归遍历左子树
PreOrder(T->rchild); //先序递归遍历右子树
}
}
中序遍历二叉树
中序遍历根节点的左子树
访问根节点
中序遍历根节点的右子树
代码如下:
void InOrder(Bt *T){ //中序遍历二叉树
if(T==NULL) return; //递归调用的结束条件
else{
InOrder(T->lchild); //中序递归遍历左子树
printf("%c",T->data); //输出节点的数据域
InOrder(T->rchild); //中序递归遍历右子树
}
}
后序遍历二叉树
后序遍历根节点的左子树
后序遍历根节点的右子树
访问根节点
代码如下:
void PostOrder(Bt *T){ //中序遍历二叉树
if(T==NULL) return; //递归调用的结束条件
else{
PostOrder(T->lchild); //后序递归遍历左子树
PostOrder(T->rchild); //后序递归遍历右子树
printf("%c",T->data); //输出节点的数据域
}
}