数据结构
huanglu12138
.
展开
-
二叉树的链式结构
package DS;//二叉树的链式结构及实现import java.util.LinkedList;import java.util.List;import java.util.Queue;import java.util.Stack;public class TextBinaryTree { class TreeNode { char value; ...原创 2020-04-01 14:41:05 · 161 阅读 · 0 评论 -
归并排序的递归及非递归实现
归并排序总的思想:将待排序数组划分为一小段,一小段的”小数组“,刚开始“小数组”长度为1 ,比较时,都是这些“小数组”之间进行比较,第一次比较完成之后,“小数组”长度*2,个数相应减少,在进行比较,每次比较完后,单个的“小数组”都是有序的了,直到“小数组”长度等于待排序数组,此时,整个待排序数组就有序了。归并排序完成package DS;import java.util.Arrays;im...原创 2019-09-05 01:55:16 · 169 阅读 · 0 评论 -
将给定单链表比给定数小的排在前,大的排在后
给定一个单向链表和一个整数m,将链表中小于等于m的节点移到大于m的节点之前,要求两部分中的节点各自保持原有的先后顺序这题没有一点难度,怪自己有点弟弟,当时卡在一个小问题上新建俩个头Max ,Min,比m小的放在Min后,大的放在Max后,而后把Max接在Min的后面即可,这里要把自己建的俩个头跳过,还有Max的尾巴一定要记得置为null,否则会成环。import java.io.*;im...原创 2019-09-05 01:40:53 · 491 阅读 · 0 评论 -
二叉树的顺序结构及实现以及堆排序
二叉树的顺序结构及实现,其核心是public void AdjustDown(int root, int len) 方法;TextHeap 类中的很多其他方法基本都是通过调用此方法实现的,包括堆排序也是通过调用AdjustDown方法实现的。当然initHeap()方法同样也是比较重要的,第一次调用此方法对堆进行初始化,创建一个大根堆。之后才会有其他方法,此结构的实现都是在这是个大根堆的基础上进...原创 2019-08-06 14:36:59 · 185 阅读 · 0 评论 -
递归法合并俩个单链表
原题如下:输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。我觉得解题思路用这一张图就可以表达的很清楚了。我的代码(非递归的,递归的在下面)/*public class ListNode { int val; ListNode next = null; ListNode(int val) { this....原创 2019-07-31 18:12:40 · 722 阅读 · 0 评论 -
递归法反转单链表
最近在leetcode看到一道反转单链表的题,题目难度并不大,但是提交成功之后,看了官方给的递归版本的答案,觉得有点意思。以下是题目和代码,和大家分享一下下图是题目模板以及我自己写的代码(迭代法,和官方给的比起来就有点捞了)以下是官方给的迭代法以及递归的标准答案...原创 2019-07-30 13:29:35 · 1220 阅读 · 0 评论 -
心情不错,写个带头循环单链表
package Interface;//带头循环单链表public interface ICLinked { //头插法 void addFirst(int data); //尾插法 void addLast(int data); //任意位置插入,第一个数据节点为0号下标 boolean addindex(int index,int data)...原创 2019-07-21 14:02:44 · 93 阅读 · 0 评论 -
心情不错,写个双向不循环单链表
public interface IDoubleLinked { //头插法 void addFirst(int data); //尾插法 void addLast(int data); //任意位置插入,第一个数据节点为0号下标 boolean addindex(int index, int data); //查找是否包含关键字ke...原创 2019-07-20 22:10:10 · 107 阅读 · 0 评论 -
心情不错,写个不带头单向链表
package Interface;public interface ILinked { // 1、无头单向非循环链表实现 //头插法 void addFirst(int data); //尾插法 void addLast(int data); //任意位置插入,第一个数据节点为0号下标 b...原创 2019-07-20 21:55:22 · 103 阅读 · 0 评论 -
快速排序的递归及非递归实现以及优化
import java.util.Arrays;import java.util.Random;import java.util.Stack;//当待排序序列为有序时,快排退化为冒泡排序。class MyQuickSort{ //一趟快排 //以low号下标为基准的一趟快排,,排完之后基准左边比他小,右边比他大 private int FindPartion(in...原创 2019-07-18 01:19:34 · 221 阅读 · 0 评论