- 博客(4)
- 收藏
- 关注
原创 华为机试2022年3月30号
华为武长地区2022年3月30号机试第二道编程题代码c++实现 题目描述: 给定一个m*n数组,起点start和终点end坐标以及边界坐标,并设置障碍点数组obstacle,障碍点给定方式为,题目输入障碍点个数k和坐标数组,要求求从起点到终点最短路径及最短路径个数) 比如输入: 5 5//m*n数组 0 1//起点start 3 3//终点end 1//障碍点个数k 2 2//障碍点数组 输出: 4 5//最短路径个数和长度 找路径问题:DFS+回溯 由于要找最短,所以只能向右边或者下边前进,前进的过程
2022-03-31 12:55:55
1955
原创 数据结构堆及利用堆实现排序
堆也一种树形结构,其父节点值比左右子节点值都大,而子节点又比其子节点的子节点值要大,依次类推,最大值出现在根节点,最小值出现在叶节点,但是堆中的左右子节点值并没有顺序,因此利用算法可以实现堆排序。 排序思想是依次交换根节点和末尾节点的元素,然后利用下沉算法实现当前根节点的元素处于正确的位置,之后重复进行交换和下沉,其中与跟结点交换的元素每次都要比堆元素个数小1,而且每次交换完后下沉根节点时,与根节点交换过的元素不参与下沉。(具体代码见堆排序函数) #incude<iostream> using
2021-02-03 12:15:17
170
原创 数据结构二叉树c++描述
数据结构之二叉树 基本术语: 度:结点的子结点的个数; 树高度(深度):树中结点的最大层数; 分支结点:度大于 0的结点; 叶子结点:度为 0的结点; 结点层次:根结点为第一层,往下递增; 结点深度:从根结点自顶向下逐层累加; 有序树:从左到右,子树有序;交换子结点位置树不同; 无序树:交换子结点后树是相同的; 两种特殊树: 满二叉树: 完全二叉树: #include <iostream> using namespace std; /* 二叉树结点 */ template<class T
2021-02-01 16:04:25
140
原创 数据结构与算法之迷宫路径、图元识别c++描述
数据结构与算法之迷宫路径、图元识别c++描述 #intclude using namespace std; /全局变量用于存储弹栈元素值/ int therow, thecol; bool Ismatch(string str); /* 迷宫路径参数结点 / struct postion { int row; int col; postion(){} postion(int theRow, int theCol) { row = theRow; col = theCol; } }; / 数组描述队列 / t
2021-01-29 14:52:58
329
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人