数据结构与算法
数据结构与算法
Tas飞鱼
这个作者很懒,什么都没留下…
展开
-
数据结构与算法:堆的操作集
数据结构与算法:堆的操作集 堆是一种特殊的数据结构,类似于优先队列,也就是说其中的元素是具有优先级的。堆在计算机CPU分配时有应用,比如对于控制核反应的电脑,控制的调度优先级大于其他的程序,每次从队列中取出的元素都是整个堆中最大的。 堆的实现方法是采用类似二叉树的结构,这个二叉树用数组来存储。 堆按照根节点和子节点的大小关系分为最大堆和最小堆,下面以最大堆为例,给出堆的操作集。 #include&...原创 2020-03-25 15:26:58 · 276 阅读 · 0 评论 -
数据结构与算法:二叉搜索树的操作集
数据结构与算法:二叉搜索树的操作集 二叉搜索树是一种特殊的树结构,它能够将数据有序的储存起来,在进行查找时速度非常快,利用的是二分查找的思想,算法复杂度是O(logN),所以是一种非常重要的数据结构。 操作集包括: 按值查找节点,查找最小值节点,查找最大值节点,插入节点,删除节点。 其中最麻烦的是删除节点,在删除的函数里有详细的注释。 #include<cstdlib> #includ...原创 2020-03-22 14:57:50 · 171 阅读 · 1 评论 -
数据结构与算法:二叉树的实现和遍历方法(先序,中序,后序,层序遍历)
数据结构与算法:二叉树的实现和遍历方法(递归与非递归) 二叉树是数据结构中非常重要的一种,在它的基本操作方法中,遍历是最基本的也是必须要掌握的。本文将给出二叉树的C++语言实现和遍历的方法。 二叉树的遍历分为递归和非递归,递归方法包括先序遍历,中序遍历,后序遍历。非递归方法包括先序遍历,中序遍历,后序遍历,层序遍历。 下面给出实现代码: #include <stack> #includ...原创 2020-03-08 19:51:19 · 516 阅读 · 0 评论 -
数据结构与算法:二分查找
二分查找 以浙大mooc题目为背景进行非递归实现。 List结构定义如下: typedef int Position; typedef struct LNode *List; struct LNode { ElementType Data[MAXSIZE]; Position Last; /* 保存线性表中最后一个元素的位置 */ }; L是用户传入的一个线性表,其中Elemen...原创 2020-03-04 20:10:27 · 172 阅读 · 0 评论