随笔分类 -  数据结构与算法

摘要:贪心算法解决电台覆盖问题 假设存在如下表的需要付费的广播台,以及广播台信号可以覆盖的地区。 如何选择最少的广播台,让所有的地区都可以接收到信号 ? | 广播台 | 覆盖区域 | | : : | : : | | K1 | 北京, 天津, 上海 | | K2 | 广州, 北京, 深圳 | | K3 | 阅读全文
posted @ 2022-07-22 12:51 ekertree 阅读(95) 评论(0) 推荐(0) 编辑
摘要:平衡二叉树 左旋转和右旋转的实现 左旋转 //左旋转 public void leftRotate() { //创建一个新结点 将当前结点的值赋值给它 Node newNode = new Node(this.value); //将新结点的左子树设置成当前结点的左子树 newNode.left = 阅读全文
posted @ 2022-07-15 18:36 ekertree 阅读(25) 评论(0) 推荐(0) 编辑
摘要:数据结构与算法 基本概念和术语 数据(Data) 是客观事物的符号表示,是所有能输入到计算机中并被计算机程序处理的符号的总称(集合)。是信息的载体;是对客观事物的符号化表示;可以被计算机识别、存储和加工。数据不仅仅包含整型、实型等数值类型,还包含图形、图像、声音、视频及动画等非数值类型对于整型、实型 阅读全文
posted @ 2022-01-24 10:44 ekertree 阅读(20) 评论(0) 推荐(0) 编辑
摘要:部分查找算法的对比实现 通过num变量改变数据集的规模,来进行对比。 顺序查找 #include <stdio.h> #include<stdlib.h> #include<time.h> #include<sys/timeb.h> typedef int KeyType; typedef stru 阅读全文
posted @ 2022-01-04 19:17 ekertree 阅读(37) 评论(0) 推荐(0) 编辑
摘要:试实现线性探测法的查找函数。 函数接口定义: Position Find( HashTable H, ElementType Key ); 其中HashTable是开放地址散列表,定义如下: #define MAXTABLESIZE 100000 /* 允许开辟的最大散列表长度 */ typedef 阅读全文
posted @ 2021-11-11 23:32 ekertree 阅读(213) 评论(0) 推荐(1) 编辑
摘要:要求在二叉排序树中查找指定的关键字,并在查找过程中输出查找过程中历经的节点。 函数接口定义: typedef int KeyType; //定义关键字类型 typedef struct node //记录类型 { KeyType key; //关键字项 struct node *lchild,*rc 阅读全文
posted @ 2021-11-11 22:38 ekertree 阅读(115) 评论(0) 推荐(1) 编辑
摘要:本题要求实现二分查找算法。 函数接口定义: Position BinarySearch( List L, ElementType X ); 其中List结构定义如下: typedef int Position; typedef struct LNode *List; struct LNode { E 阅读全文
posted @ 2021-11-11 22:01 ekertree 阅读(33) 评论(0) 推荐(0) 编辑
摘要:本题要求给定二叉树的4种遍历。 函数接口定义: void InorderTraversal( BinTree BT ); void PreorderTraversal( BinTree BT ); void PostorderTraversal( BinTree BT ); void Levelor 阅读全文
posted @ 2021-11-07 16:42 ekertree 阅读(68) 评论(0) 推荐(0) 编辑
摘要:本题要求用非递归的方法实现对给定二叉树的 3 种遍历。 函数接口定义: void InorderTraversal( BinTree BT ); void PreorderTraversal( BinTree BT ); void PostorderTraversal( BinTree BT ); 阅读全文
posted @ 2021-11-07 16:40 ekertree 阅读(198) 评论(0) 推荐(0) 编辑
摘要:编写函数计算二叉树的深度以及叶子节点数。二叉树采用二叉链表存储结构 函数接口定义: int GetDepthOfBiTree ( BiTree T); int LeafCount(BiTree T); 其中 T是用户传入的参数,表示二叉树根节点的地址。函数须返回二叉树的深度(也称为高度)。 裁判测试 阅读全文
posted @ 2021-11-07 16:37 ekertree 阅读(414) 评论(0) 推荐(0) 编辑
摘要:假设在周末舞会上,男士和女士们分别进入舞厅,各自排成一队。跳舞开始,依次从男队和女队队头各出一人配成舞伴,若两队初始人数不同,则较长那一队未配对者等待下一轮舞曲。现要求写一算法模拟上述舞伴配对问题。 你需要用队列操作实现上述算法。请完成下面5个函数的操作。 函数接口定义: int QueueLen( 阅读全文
posted @ 2021-10-09 21:45 ekertree 阅读(297) 评论(0) 推荐(0) 编辑
摘要:设计一个顺序栈,并利用该顺序栈将给定的十进制整整数转换为二进制并输出。 函数接口定义: #define MaxSize 100 /* 栈最大容量 */ int top; /* 栈顶指针 */ int mystack[MaxSize]; /* 顺序栈 */ /*判栈是否为空,空返回true,非空返回f 阅读全文
posted @ 2021-10-09 21:34 ekertree 阅读(990) 评论(0) 推荐(0) 编辑
摘要:顺序表创建和就地逆置 本题要求实现顺序表的创建和就地逆置操作函数。L是一个顺序表,函数ListCreate_Sq(SqList &L)用于创建一个顺序表,函数ListReverse_Sq(SqList &L)是在不引入辅助数组的前提下将顺序表中的元素进行逆置,如原顺序表元素依次为1,2,3,4,则逆 阅读全文
posted @ 2021-09-22 16:17 ekertree 阅读(404) 评论(0) 推荐(0) 编辑
摘要:线性表元素的区间删除 给定一个顺序存储的线性表,请设计一个函数删除所有值大于min而且小于max的元素。删除后表中剩余元素保持顺序存储,并且相对位置不能改变。 函数接口定义: List Delete( List L, ElementType minD, ElementType maxD ); 其中L 阅读全文
posted @ 2021-09-22 16:13 ekertree 阅读(175) 评论(0) 推荐(0) 编辑
摘要:顺序表操作集 本题要求实现顺序表的操作集。 函数接口定义: List MakeEmpty(); Position Find( List L, ElementType X ); bool Insert( List L, ElementType X, Position P ); bool Delete( 阅读全文
posted @ 2021-09-22 16:12 ekertree 阅读(168) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示