- 博客(2)
- 收藏
- 关注
原创 优先级队列
优先级队列是一种重要的数据结构,对于存储其中的元素,总是选择优先级最高的先出队,在优先队列中,每个元素都有一个与之关联的优先级,高优先级元素会排在队首,低优先级元素排在队尾。实现优先队列的常用方式是使用堆排序实现。堆可以分为大顶堆和小顶堆,大顶堆的根节点总是大于左右节点,小顶堆的根节点总是小于左右节点。根据这个规则,可以通过不断地插入和删除操作,保证堆的有序性。实现优先级队列可以直接使用c++中的STL库中的优先级队列实现,也可以通过堆排序,可以分成大顶堆和小顶堆,实现优先级高的先出队。
2024-06-13 21:07:50 773
原创 二叉排序树的基本操作以及应用
二叉排序树的插入的主要思路是根据二叉排序树的性质(以树根为起始点,左子树的值比树根的值小,而右子树的值比树根的值大)使用递归,当插入数据大于节点数据时进入右子树否则进入左子树,当前节点为空时建立所插入的节点。该种情况因为要保存二叉排序树的特性即以树根为起始点,左子树的值比树根的值小,而右子树的值比树根的值大,所以将根节点删除需要将右子树中的最小节点代替根(或左子树最大节点)。二叉排序树的建立对于查找和删除的实现更加容易实现,它的速度更快,因而它对数据的查找删除十分重要,所以我们应该掌握这种二叉排序树。
2024-04-30 03:21:48 874 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人