- 博客(2)
- 收藏
- 关注
原创 C语言实现堆排序
C语言实现堆排序算法步骤把n个元素建立一个堆,从1到n进行编码,从而把n个结点转换成为一棵完成二叉树。然后从最后一个非叶结点(n/2)到根结点(1)根据需要向下调整,直到以当前结点为根结点的子树符合堆的特性。每次将最小值提取到根结点后,输出根结点,然后将堆的最后一个元素添加到根结点,这样堆的大小就可以减一,不断重复此步骤,直到堆内元素为空,这样输出就得到了数据的从小到大排列。代码实现完整代码如下:#include<stdio.h>int h[101]; //用来存放堆的数组in
2021-02-13 14:06:24 441
原创 C语言实现最短迷宫路径问题
C语言实现最短迷宫路径问题试题:迷宫的最短路径问题描述给定一个大小为N*M的迷宫。迷宫由通道和墙壁组成,每一步可以向邻接的上下左右四个的通道移动。请求出从起点到重点所需的最小步数。注意,本题假设从起点不一定可以移动到终点。试题分析这是一道经典的宽度优先搜索算法(BFS)试题,BFS中,只要将已经访问过的状态用标记管理起来,就可以很好的做到由进及远的搜索。此外,还需用到队列的思想先进先出,及第一次程序中到达迷宫某一位置的所需步数并记录下来,这样,当其余路径也经过这一地点时(其BFS次数在第一次到达
2021-01-28 15:17:25 6311 2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人