数据结构_java实现
CoderLeeBron
普通大学的普通学生
展开
-
归并排序--八大排序算法[java][c语言]
归并排序–八大排序算法和选择排序一样,归并排序的性能不受输入数据的影响,但表现比选择排序好的多,因为始终都是O(n log n)的时间复杂度。代价是需要额外的内存空间。归并排序是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。归并排序是一种稳定的排序方法。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序...原创 2019-10-30 14:03:52 · 178 阅读 · 1 评论 -
基数排序——八大排序算法[c语言][java]
基数排序——八大排序算法基数排序也是非比较的排序算法,对每一位进行排序,从最低位开始排序,复杂度为O(kn),为数组长度,k为数组中的数的最大的位数;基数排序是按照低位先排序,然后收集;再按照高位排序,然后再收集;依次类推,直到最高位。有时候有些属性是有优先级顺序的,先按低优先级排序,再按高优先级排序。最后的次序就是高优先级高的在前,高优先级相同的低优先级高的在前。基数排序基于分别排序,分别收集...原创 2019-10-24 21:17:14 · 215 阅读 · 0 评论 -
八大排序算法——快速排序[java][c语言]
快速排序快速排序的基本思想:通过一趟排序将待排记录分隔成独立的两部分,其中一部分记录的关键字均比另一部分的关键字小,则可分别对这两部分记录继续进行排序,以达到整个序列有序。算法描述快速排序使用分治法来把一个串(list)分为两个子串(sub-lists)。具体算法描述如下:1.从数列中挑出一个元素,称为 “基准”(pivot);重新排序数列,所有元素比基准值小的摆放在基准前面,所有元素比基准...原创 2019-10-23 20:34:03 · 136 阅读 · 0 评论 -
插入排序--八大排序算法[java][C语言]
插入排序持续更新算法与数据结构,感兴趣看下其他文章算法动画演示插入排序(Insertion-Sort)的算法描述是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实现上,通常采用in-place排序(即只需用到O(1)的额外空间的排序),因而在从后向前扫描过程中,需要反复把已排序元素逐步向后挪位,为最新元素提供...原创 2019-10-22 16:00:20 · 133 阅读 · 0 评论 -
堆排序--八大排序算法[java][c语言]
堆排序–八大排序算堆排序动画演示代码【java】【c语言】javapackage sort;import java.util.Arrays;public class HeapSort { public static void main(String[] args) { // TODO 要求将数组升序排序 int arr[] = {4,6,8,5,7,1,9,10,3,2...原创 2019-10-21 21:10:31 · 151 阅读 · 1 评论 -
冒泡排序--八大排序算法[java][c语言]
八大排序算法冒泡排序https://pic2.zhimg.com/50/v2-33a947c71ad62b254cab62e5364d2813_hd.webp【动画演示】网上有很多文章细讲,本人奈何没文化,靠着几行代码行天下~~,大家可以看看其他博主的文字描述,回过头去理解代码~代码,分布推理最后总结,小白必看java:package sort;import java.util...原创 2019-10-21 21:03:43 · 179 阅读 · 0 评论 -
二叉排序树的功能实现[查找][排序][删除][java]
二叉排序树的功能实现一个删除操作,里面囊括查找 并在删除前将其排序为二叉排序树删除分析代码==手敲全注释代码来了,感兴趣看一下楼主以前文章,持续更新数据结构与算法 ==package com.atguigu.binarysorttree;public class BinarySortTreeDemo { public static void main(String[] ar...原创 2019-10-17 19:05:42 · 210 阅读 · 2 评论 -
BF&KMP算法[c语言][字符串匹配]
BF&KMP算法[字符串匹配]BF:暴力匹配KMP:优化后的利用回溯提高匹配效率代码话不多说,手敲代码来了哦~~~//brute-force暴力算法//KMP 算法 #include <stdio.h>#include <malloc.h>#include <string.h>typedef struct{ char *ch...原创 2019-10-17 11:33:52 · 407 阅读 · 0 评论 -
递归之八皇后问题[Queen][java]
递归之八皇后问题问题描述:8个棋子摆在8*8格子里,每行摆一个,任意俩个不能在一列或者同一斜线上问题分析:在8的8次方种选择里找到几个正确的,递归的优势局凸显了,话不多说,代码见真知!代码全注释手敲代码来了,持续更新一些有意思有用的算法和数据结构,感兴趣看一下博主以前文章package recursion;public class Queen8 { int max = 8; in...原创 2019-10-16 13:11:09 · 166 阅读 · 0 评论 -
递归迷宫路径问题(java)
递归迷宫路径问题这期更新用代码解决走迷宫问题,有障碍物就绕开,我们用数组模拟迷宫格,大家感兴趣的话看一下我之前的更新,持续更新数据结构算法问题。运行结果代码0表示可以走 , 1表示障碍物,2表示走过路径全注释代来啦~~`package recursion;public class MiGong { public static void main(String[] args) ...原创 2019-10-15 15:43:46 · 566 阅读 · 0 评论 -
栈的应用计算器(多位数)(java)
栈的应用计算器(多位数)表达式 1722-5+1-5+3-14 结果是多少,代码实践出真知。代码代码不难,但也不简单,注释里每句都有详解,以及自己对其的逻辑算法理解,仔细看手敲,全注释,感兴趣看一下前几次的更新package stack;public class Calculator { public static void main(String[] args) { //...原创 2019-10-14 14:37:54 · 594 阅读 · 1 评论 -
栈的基本操作(java)
栈的基本压栈,出栈操作:在java中,相较于c语言栈的操作更加简单易懂,没有太多指针的引用,导入stack包后pop,push操作就是动动手指的事啦~~,一直更新数据结构与算法,喜欢可以看一下博主以前的帖子~。下期更新栈的应用,计算器代码手敲全注释代码来啦!~~package stack;import java.util.Scanner;public class ArraySta...原创 2019-10-14 14:28:17 · 1648 阅读 · 1 评论 -
数组实现循环队列(java)
一维数组实现循环队列的基本操作在之前更新稀疏数组,单双链表,循环链表(约瑟夫环)单向队列后,这次代码实现用简单的一维数组完成队列的基本操作,希望对大家有所帮助。在之后持续更新java数据结构。队列先进先出代码功能1.增加数据2.取出数据3.取出头数据4.展示列表注意此时单链表实现此功能,在添加数据到数组最大程度后,即使取出,再次添加也会提示队列满,所以我们更加倾向利用循环队列,...原创 2019-10-13 20:15:19 · 443 阅读 · 0 评论 -
数组实现队列(java)
一维数组实现队列的基本操作在之前更新==稀疏数组,单双链表,循环链表(约瑟夫环)==后,这次代码实现用简单的一维数组完成队列的基本操作,希望对大家有所帮助。在之后持续更新java数据结构,喜欢博主留个关注吧,记得双鸡么么哒!!!队列先进先出代码功能1.增加数据2.取出数据3.取出头数据4.展示列表注意此时单链表实现此功能,在添加数据到数组最大程度后,即使取出,再次添加也会提示队...原创 2019-10-13 20:10:08 · 316 阅读 · 0 评论 -
稀疏数组与二维数组相互转换(java)
稀疏数组转换,恢复问题稀疏数组可以用更少的空间记录数据,以下代码用来稀疏数组->二维数组, 二维数组->稀疏数组。手敲代码,全注释版来咯!!package sparse_array;public class SparseArray { public static void main(String[] args) { // TODO Auto-generated me...原创 2019-10-13 19:38:51 · 162 阅读 · 0 评论 -
循环链表实现约瑟夫环(Josephu)丢手绢问题
java实现约瑟夫环(循环链表的应用)丢手绢相信大家小时候都玩过,这次更新用约瑟夫解决丢手绢问题,以后你就知道坐在那个位置,永远不会出局了哈哈哈。感兴趣的话可以看一下我前几次的更新[单链表]双向链表(https://blog.csdn.net/weixin_44720403/article/details/102533697)全注释代码来啦,纯手敲package linkedlist;p...原创 2019-10-13 16:37:28 · 296 阅读 · 0 评论 -
双向链表功能实现(java)
java实现双向链表的功能(简单版)本次代码实现双向链表的几个基本功能,其他更多我将在后续用c语言实现,如果感兴趣,可以看一下我上一篇文章单链表的功能实现,俩者其实算法类似,可以互相带入理解一下。附上链接[单链表]。(https://blog.csdn.net/weixin_44720403/article/details/102533697)功能1.添加结点2.遍历结点3.更新结点4...原创 2019-10-13 16:27:12 · 210 阅读 · 0 评论 -
单链表功能实现(java)
@单链表功能实现顺序添加,倒置,逆序打印等Welcome to Lee’s Code你好! 这是我第一次使用写博客,我将在空闲时间更新java实现数据结构,因为代码手敲,更新需要在写出代码的基础上加入详细的注释,以便读者阅读代码,新人报到,大佬勿喷。代码功能完整注释,每个语句都有1.添加 排序!!!!2.删除3.找到倒数index结点4.倒置5.逆序打印6.获取单链表结点的个数...原创 2019-10-13 16:04:49 · 480 阅读 · 6 评论