-
【数据结构】之队列的java实现(一)
所属栏目:[安全] 日期:2021-05-22 热度:96
队列的定义: 队列(Queue)是只允许在一端进行插入,而在另一端进行删除的运算受限的线性表。 (1)允许删除的一端称为队头(Front)。 (2)允许插入的一端称为队尾(Rear)。 (3)当队列中没有元素时称为空队列。 (4)队列亦称作先进先出(First In Fir[详细]
-
【数据结构】二叉查找树
所属栏目:[安全] 日期:2021-05-22 热度:97
1、概念: 二叉查找树,也称排序二叉树,是指一棵空树或者具备下列性质的二叉树(每个节点都不能有多于两个儿子的树): 1. 若任意节点的左子树不空,则左子树上所有节点的值均小于它的根节点的值; 2. 若任意节点的右子树不空,则右子树上所有节点的值均大于[详细]
-
【数据结构】插入排序
所属栏目:[安全] 日期:2021-05-22 热度:154
数据结构中的插入排序 参考代码如下: /*名称:插入排序 语言:数据结构C语言版 编译环境:VC++ 6.0日期: 2014-3-26 */#include stdio.h#include malloc.h#include windows.htypedef int KeyType;// 定义关键字类型为整型typedef int InfoType;// 定义其它[详细]
-
【数据结构】二叉树的遍历
所属栏目:[安全] 日期:2021-05-16 热度:88
二叉树是每个结点最多有两个子树的有序树。通常子树的根被称作“左子树”(left subtree)和“右子树”(right subtree)。二叉树常被用作 二叉查找树 和二叉堆或是二叉排序树。二叉树的每个结点至多只有二棵子树(不存在度大于2的结点),二叉树的子树有左右[详细]
-
《数据结构》同学做的作业大家来讨论:顺序栈的实现
所属栏目:[安全] 日期:2021-05-16 热度:175
? ? ?下面是一个同学的顺序栈的实现代码,这位同学没有按照课本的方法来写,按自己的理解写了一个程序,对这位同学的尝试表示赞,同时,也推荐大家可以自己写出符合相应数据结构的算法程序。 ? ? ? 当然,这位同学做的还有很多不合理的地方面,所以 请大家上[详细]
-
《数据结构》第四章 字符串和多维数组学习指南
所属栏目:[安全] 日期:2021-05-16 热度:93
? 第四章字符串和多维数组 学习指南 ? ? ? 字符串:是以字符为数据元素的线性表。线性表是字符串学习的重要基[详细]
-
《数据结构》第四章 字符串和数组 教学设计
所属栏目:[安全] 日期:2021-05-16 热度:134
本章,总时问分为 1.5周,共三次课来 来学习。两次上课(9周周一和周四),一次实验(10周周四)。以下是教学设计。 第四章 字符串和多维数组 ? 教学设计 一、课前预习任务 学习资料 ??? 资料1 . ?教材第三章Page 79-98(必看) ??? 资料2. ?辅导材料第一章P[详细]
-
《数据结构》实验四 字符串和多维数组 实验
所属栏目:[安全] 日期:2021-05-16 热度:104
《数据结构》实验四:???? 字符串和多维数组 实验 一..实验目的 ???? 巩固字符串和多维数组相关知识,学会运用灵活应用。 1.回顾字符串和多维数组的逻辑结构和存储操作特点,字符和数组的物理存储结构和常见操作。 2.学习运用字符串和和数组的知识来解决实[详细]
-
《数据结构》队列和栈同学问题征集解答=help!
所属栏目:[安全] 日期:2021-05-16 热度:142
下面是一名同学的提问,在他自己博客里,由于问题不止一个较长,这个同学平时是很认真思考的,所以我认为他的问题一定也是大家的问题。 ? ?因此。在此 “示众” !请大家来讨论来回答。必要的时候我也会补充。当然提问题同自己如果明白了也可以来定出答案。[详细]
-
《数据结构》第四章 字符串和多维数组 问题收集站
所属栏目:[安全] 日期:2021-05-16 热度:114
? ? ? ?大家好, 第三章“栈和队列 ”的已经结束了。将在下周开始学习第四章 字符串和多维数组 。第四章准备使用1.5周,具体时间是第9周到第10周。 ??????? 同前三章一样,现开辟同学们学习问题回收站,希望大家认真预习,积极思考,相互讨论。将不理解的问[详细]
-
《数据结构》同学链表程序的调试修改代码示例(有代表性,请看看
所属栏目:[安全] 日期:2021-05-16 热度:166
下面是一个同学的程序,自己不能调试通过。现将调试修改代码示众,让大家学习。并讨论。 请大家注意红色字体注释。大多是 粗心 错误;不知道C++是选样学的。 原程序链接:http://blog.csdn.net/z1094219402/article/details/40559877 #includeiostream ? usi[详细]
-
《数据结构》链表程序调试示例--有一定代表性请看看
所属栏目:[安全] 日期:2021-05-16 热度:103
下面的一个同学程序,编译和链接均没问题,只是运行出面错误。现将程序示众, 大家细看我改过的地方面,用红色标记。 还是一个粗心,请细分每个功能函块,要画图来推推。要说明的是,我没有从功能上完善同学的程序。程序有好多改进的地方。 同学程序链接是:[详细]
-
【数据结构】哈希表
所属栏目:[安全] 日期:2021-04-05 热度:159
哈希表(散列表),是通过关键字key而直接访问在内存存储位置的一种数据结构,它就是 以空间换取时间。通过多开辟几个空间,来实现查找的高效率。 对于哈希表,我们并不是很陌生:在c语言学习阶段,给定一个字符串,查找第一个只出现过一次的字符;在数据结[详细]
-
【数据结构】Hash表
所属栏目:[安全] 日期:2021-04-03 热度:73
【数据结构】Hash表 Hash表也叫散列表,是一种线性数据结构。在一般情况下,可以用o(1)的时间复杂度进行数据的增删改查。在Java开发语言中,HashMap的底层就是一个散列表。 1. 什么是Hash表 Hash表是一种线性数据结构,这种数据结构的底层一般是通过数组来实[详细]
-
自己动手实现java数据结构(五)哈希表
所属栏目:[安全] 日期:2021-04-03 热度:140
1.哈希表介绍 前面我们已经介绍了许多类型的数据结构。在想要查询容器内特定元素时,有序向量使得我们能使用二分查找法进行精确的查询(( O(logN)对数复杂度,很高效 )。 可人类总是不知满足,依然在寻求一种更高效的特定元素查询的数据结构, 哈希表/散列表([详细]
-
自己动手实现java数据结构(七) AVL树
所属栏目:[安全] 日期:2021-04-03 热度:90
1.AVL树介绍 前面我们已经介绍了二叉搜索树。普通的二叉搜索树在插入、删除数据时可能使得全树的数据分布不平衡,退化,导致二叉搜索树最关键的查询效率急剧降低。这也引出了平衡二叉搜索树的概念,平衡二叉搜索树在此前的基础上,通过一系列的等价变换使二[详细]
-
自己动手实现java数据结构(八) 优先级队列
所属栏目:[安全] 日期:2021-04-03 热度:59
1.优先级队列介绍 1.1 优先级队列 有时在调度任务时,我们会想要先处理优先级更高的任务。例如,对于同一个柜台,在决定队列中下一个服务的用户时,总是倾向于优先服务VIP用户,而让普通用户等待,即使普通的用户是先加入队列的。 优先级队列和普通的先进先[详细]
-
自己动手实现java数据结构(六)二叉搜索树
所属栏目:[安全] 日期:2021-04-03 热度:186
1.二叉搜索树介绍 前面我们已经介绍过了向量和链表。有序向量可以以二分查找的方式高效的查找特定元素,而缺点是插入删除的效率较低(需要整体移动内部元素);链表的优点在于插入,删除元素时效率较高,但由于不支持随机访问,特定元素的查找效率为线性复杂度[详细]
-
自己动手实现java数据结构(一) 向量
所属栏目:[安全] 日期:2021-04-03 热度:137
1.向量介绍 计算机程序主要运行在内存中,而内存在逻辑上可以被看做是连续的地址。为了充分利用这一特性,在主流的编程语言中都存在一种底层的被称为 数组(Array) 的数据结构与之对应。在使用数组时需要事先声明 固定的大小 以便程序在运行时为其开辟内存空[详细]
-
自己动手实现java数据结构(四)双端队列
所属栏目:[安全] 日期:2021-04-03 热度:153
1.双端队列介绍 在介绍双端队列之前,我们需要先介绍队列的概念。和栈相对应,在许多算法设计中,需要一种" 先进先出(First Input First Output) "的数据结构,因而一种被称为" 队列(Queue) "的数据结构被抽象了出来(因为现实中的队列,就是先进先出的)。 队[详细]
-
自己动手实现java数据结构(三) 栈
所属栏目:[安全] 日期:2021-04-03 热度:191
1.栈的介绍 在许多算法设计中都需要一种 "先进后出(First Input Last Output)" 的数据结构,因而一种被称为 "栈" 的数据结构被抽象了出来。 栈的结构类似一个罐头:只有一个开口;先被放进去的东西沉在底下,后放进去的东西被放在顶部;想拿东西必须按照从上[详细]
-
自己动手实现java数据结构(二) 链表
所属栏目:[安全] 日期:2021-04-03 热度:108
1.链表介绍 前面我们已经介绍了向量,向量是基于数组进行数据存储的 线性表 。今天,要介绍的是线性表的另一种实现方式--- 链表 。 链表和向量都是线性表,从使用者的角度上依然被视为一个线性的列表结构。但是,链表内部存储数据的方式却和向量大不相同:链[详细]
-
栈-java代码
所属栏目:[安全] 日期:2021-04-03 热度:189
import java.util.Arrays; public class StackDemo { private int maxSize; long [] stackArray; top; // 构造器 public StackDemo( s){ 初始化栈 maxSize = s; stackArray = new [maxSize]; top = -1 ; } 入栈 void push( element){ stackArray[ ++top] = e[详细]
-
队列-java代码
所属栏目:[安全] 日期:2021-04-02 热度:158
public class QueueDemo { private int maxSize; long [] queueArray; // 队列的头,实际是数组的尾 header; 队列的尾,实际是数组的头 footer; nElems; public QueueDemo( size){ maxSize = size; queueArray = new [maxSize]; header = 0 ; footer = -1 ;[详细]
-
算法图解之散列表
所属栏目:[安全] 日期:2021-04-02 热度:110
散列函数 专业术语表述,”将输入映射到数字”。 散列函数具有如下要求: (1)它必须是一致的。 如你输入blog得到的是wordpress,那么每次输入blog,得到的都必须为wordpress。 (2)它应将不同的输入映射到不同的数字。 如,如果一个散列函数不管输入是什么都返[详细]
