数据结构
浑身带着仙气
这个作者很懒,什么都没留下…
展开
-
二叉树的java实现(2)
二叉树引子查询前序查询修改BinaryTree测试中序查询修改BinaryTree测试后序查询修改BinaryTree测试层次查询修改BinaryTree测试引子承接我的上一篇博客 传送门查询二叉树的遍历分为前序遍历,中序遍历后序以及层级遍历,那么自然对于节点的查询也分为前序,中序,后序以及层次。前序查询修改BinaryTree//BinaryTreepublic Node frontGetNodeByValue(int value) { if(this.rootNode == null原创 2020-07-12 09:32:40 · 344 阅读 · 0 评论 -
二叉树的java实现(1)
二叉树二叉树什么是二叉树完全二叉树满二叉树树的几个概念开发准备新建工程初始化工程添加节点普通二叉树添加节点完全二叉树添加节点遍历前序遍历层次遍历中序遍历后序遍历二叉树什么是二叉树二叉树(Binary tree)是树形结构的一个重要类型。许多实际问题抽象出来的数据结构往往是二叉树形式,即使是一般的树也能简单地转换为二叉树,而且二叉树的存储结构及其算法都较为简单,因此二叉树显得特别重要。二叉树特点是每个结点最多只能有两棵子树,且有左右之分,说白了就是二叉树最多有两个子节点。我们来举个例子我们通过上述原创 2020-07-10 18:28:31 · 653 阅读 · 0 评论 -
数据结构:双向循环链表(2)
双向循环链表引子查询修改MyList测试测试1:没有节点测试2:有一个节点,但没有对应节点测试3:有两个节点,没有对应节点测试4:有一个节点,有对应节点测试5:有两个节点,对应节点为首节点测试6:有两个节点,对应节点为尾结点测试7:有三个节点,对应节点为中间结点删除修改MyList测试测试1 没有节点测试2 有节点,没有对应节点测试3 有节点,对应节点为首节点测试4 有节点,对应节点为尾结点测试5 有节点,对应节点为中间结点修改修改MyList测试测试1,没有节点测试2,有节点引子承接我的上一篇博客传送原创 2020-07-07 10:11:58 · 752 阅读 · 0 评论 -
数据结构:双向循环链表(1)
双向循环链表引子回顾基本知识单向链表双向链表单向循环链表什么是双向循环链表开发前准备遍历增加修改MyList测试测试1,没有节点使用setFirstNode测试2,有一个节点使用setFirstNode测试3,有两个节点使用setFirstNode测试4,没有节点使用addNode测试5,有一个节点使用addNode测试6,有两个节点使用addNode测试7,先setFirstNode再addNode测试8,后setFirstNode先addNode删除修改MyList测试测试1,没有节点,使用delete原创 2020-07-05 11:56:18 · 2248 阅读 · 0 评论 -
数据结构:单向循环链表(2)
单向循环链表引子查询修改MyList测试测试1,没有节点测试2,有节点,但没有对应的节点测试3,有节点,有对应的节点删除(续)修改MyList测试测试1,没有节点测试2,有节点,但没有对应节点测试3,有一个节点,有对应节点测试4,有两个节点,对应节点为首节点测试4,有两个节点,对应节点不是首节点测试5,有三个节点,对应节点为首节点测试6,有三个节点,对应节点不是首节点修改修改MyList测试测试1,没有节点测试2,有节点,没有对应节点测试3,有节点,有对应节点引子承接我的上一篇博客传送门查询同样的,原创 2020-07-04 16:04:22 · 3485 阅读 · 0 评论 -
数据结构:单向循环链表(1)
单向循环链表引子回顾以及目的回顾单向链表期望的单向循环链表新建工程增加结点setFirstNode修改MyList测试测试1:没有节点,设置第一个节点测试2:有节点,替换第一个节点addNode修改MyList测试测试1:本身没有节点,addNode加入第一个节点遍历节点修改MyList测试2:本身有一个节点,addNode加入新的节点测试3:本身用addNode加入新的节点,setFirstNode替换第一个节点测试4,使用addNode一次性添加多个节点删除节点deleteFirstNode修改MyLi原创 2020-07-03 13:21:12 · 1584 阅读 · 1 评论 -
数据结构:双向链表(2)
双向链表引子查询修改MyList测试删除FirstToLast修改MyList测试LastToFirst修改修改MyList测试引子承接我的上一篇博客传送门如果还不会单向链表的话,我的另一篇博客传送门查询同样的,虽然不擅长查询以及修改操作,但是只是练习而已,就简单的实现一下修改MyListpublic Node searchNodeByValue(int value) { //如果没有节点,直接返回 if(this.size == 0) return null; Node cur原创 2020-07-02 11:38:01 · 455 阅读 · 0 评论 -
数据结构:双向链表(1)
双向链表基本思想大体结构增加修改MyList测试删除修改MyList测试基本思想双向链表与单向链表大同小异,只不过双向链表还有个节点指向最后一个节点大体结构新建工程,结构如下增加修改MyList测试删除修改MyList测试...原创 2020-07-01 12:16:07 · 274 阅读 · 0 评论 -
数据结构:实现单向链表(2)
单向链表2引子回顾查询修改MyList测试删除修改MyList测试修改修改MyList测试遍历修改MyList测试引子承接我的上一篇博客传送门回顾上篇博客,我写到了删除首尾节点的操作。链表适合增加和删除操作,不适合查询和修改操作,但是我们只是练习,所以简单的实现一下查询因为根据值,删除节点,首先要找到这个节点,所以先做查询。修改MyListpublic Node queryNode(int value) { Node currNode = this.firstNode; while(原创 2020-06-30 11:13:18 · 341 阅读 · 0 评论 -
数据结构:实现单向链表(1)
单向链表必备知识什么是内部类内部类的简单使用新建空工程实例内部类的简单使用测试实例内部类结果展示链表开发基本思想修改MyList大体结构增加MyList的完善添加测试删除MyList的完善删除测试必备知识什么是内部类java内部类分为静态内部类,实例内部类,匿名内部类,局部内部类,本次开发采用实例内部类。其余的内部类将在以后的文章中详细说明内部类的简单使用新建空工程结构如下实例内部类的简单使用public class MyList { public class Node{ publi原创 2020-06-29 13:35:00 · 683 阅读 · 0 评论