数据结构与算法-java版本
谁对谁错重要吗
只有坚持不懈的努力,才能换来更广阔的天空,一起加油
展开
-
数据结构之栈
数据结构之栈的简介:栈相当于一个容器,用来存储元素。栈的特点:先存入栈中的元素会在栈底存在,而取元素的话,就从栈顶取。遵循先进后出的原则。代码参考:/** * 栈的学习类 栈什么是栈? 栈相当于是一个存放元素的容器。 * * 栈的特点: 先存入的元素会处于栈底,后存入的元素会处于栈顶。 遵循:先进后出的原则 * * @author zhang * ...原创 2019-05-30 18:19:56 · 152 阅读 · 0 评论 -
算法之选择排序
算法之选择排序代码参考/** * 选择排序 * * @author zhang * */public class SelectSort { public static void main(String[] args) { int[] arr = new int[] { 1, 9, 2, 0, 5, 6, 5, 9, 5, 7, 3, 7 }; SelectSo...原创 2019-06-18 16:50:49 · 150 阅读 · 0 评论 -
算法之快速排序
算法之快速排序简介* 什么是快速排序? 首先任意选取一个数据(通常选用数组的第一个数)作为关键数据, 然后将所有比它小的数都放到它左边, 所有比它大的数都放到它右边,* 这个过程称为一趟快速排序。 值得注意的是,快速排序不是一种稳定的排序算法, 也就是说,多个相同的值的相对位置也许会在算法结束时产生变动。代码参考/** * 快速排序 * * 什么是快速排序? 首先...原创 2019-06-17 14:22:10 · 146 阅读 · 0 评论 -
算法之直接插入排序
算法之直接插入排序简介直接插入排序 基本操作是将一条记录插入到已排好的有序表中, 从而得到一个新的、记录数量增1的有序表。代码参考/** * 直接插入排序 基本操作是将一条记录插入到已排好的有序表中, 从而得到一个新的、记录数量增1的有序表。 * * @author zhang * */public class DirectInsertSort { publi...原创 2019-06-17 14:20:43 · 136 阅读 · 0 评论 -
算法之冒泡排序
代码参考/** * 算法之冒泡排序 * * 冒泡排序算法的原理如下: 比较相邻的元素。如果第一个比第二个大,就交换他们两个。 * 对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。 针对所有的元素重复以上的步骤,除了最后一个。 * 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。 * *...原创 2019-06-14 14:22:53 · 165 阅读 · 0 评论 -
汉诺塔
汉诺塔简介* 汉诺塔* 汉诺塔的实现 典型使用了递归** 汉诺塔小游戏的实现* 小游戏的网页链接地址:http://www.4399.com/flash/109504_1.htm* 游戏规则:* 把所有圆环从最左边的珠子都套到最右边的柱子上;* 每次只能移动一个圆环,大的圆环不能压在小的圆环上代码参考/** * 汉诺塔 * 汉诺塔...原创 2019-06-12 16:30:04 · 1583 阅读 · 1 评论 -
斐波那契数列
斐波那契数列简介人为规定:斐波那契数列1 1 2 3 5 8 13代码参考/** * 斐波那契数列 * * 1 1 2 3 5 8 13 * @author zhang * */public class TestFeiBoNaQie { public static void main(String[] args) {...原创 2019-06-12 16:28:49 · 399 阅读 · 0 评论 -
数据结构之递归
数据结构之递归简介什么是递归?通过重复将问题分解为同类的子问题而解决问题的方法。说白了就是:自己调用自己,直到触发了某条结束遇见后,结束代码参考/** * 递归 * * 什么是递归? * 自己调用自己,直到触发了某条结束遇见后,结束 * @author zhang * */public class Recursion { public stati...原创 2019-05-31 14:56:55 · 347 阅读 · 0 评论 -
数据结构之双向链表
数据结构之双向链表简介什么是双向链表?双向链表有三个元素 第一个元素:指向的是上一个元素 第二个元素:节点内容 第三个元素:指向的是下一个元素串行的 一组指向一组 一般我们都构造双向循环链表。代码参考/** * 双向循环链表 * * 什么是双向链表? 双向链表有三个元素 第一个元素:指向的是上一个元素 第二个元素:节点内容 第三个元素:指向的是下一个元素 * ...原创 2019-05-31 14:54:43 · 617 阅读 · 0 评论 -
数据结构之单链表
数据结构之单链表简介单链表 什么是链表? 链表就相当于 一节车厢连接一节车厢 链表中的单个元素有两个值,第一个值是内容,第二值是地址(指向下一个链表),第二个值默认为空(null)代码参考:/** * 单链表 什么是链表? 链表就相当于 一节车厢连接一节车厢 链表中的单个元素有两个值,第一个值是内容,第二值是地址(指向下一个链表),第二个值默认为空 * * * 循环...原创 2019-05-31 14:53:05 · 122 阅读 · 0 评论 -
算法之数组二分查找
数组查找之二分查找二分查找的缺点:二分查找只能将排好序的数组进行查找。二分查找每次都会将数组分成二分之一去查找,然后比对,直到找到为止代码参考:/** * 数组查找之二分查找 * 二分查找的缺点:二分查找只能将排好序的数组进行查找。 * 二分查找每次都会将数组分成二分之一去查找,然后比对,直到找到为止 * @author zhang * */public cl...原创 2019-05-28 14:36:28 · 354 阅读 · 0 评论 -
算法之数组线性查找
数组之线性查找线性查找的缺点:效率比较低,每次都是从头开始查找,如存在停止,如不存在,将数组从头到尾遍历一遍。代码参考:/** * 数组之线性查找 * * 线性查找的缺点:效率比较低,每次都是从头开始查找,如存在停止,如不存在,将数组从头到尾遍历一遍。 * @author zhang * */public class FindArray { publi...原创 2019-05-28 14:34:17 · 348 阅读 · 0 评论 -
数据结构之面向对象的数组
数据结构之面向对象的数组面向对象数组代码参考:/** * 面向对象数组 * * @author zhang * */public class OOPArray { // 声明数组 private int[] array; // 构造方法 public OOPArray() { // 数组初始化 array = new int[0]; } // ...原创 2019-05-28 14:30:58 · 165 阅读 · 0 评论 -
数据结构之数组元素的删除
数据结构之数组元素的删除描述:想要删除数组中某个下标的值,如何删除?代码参考:/** * 数组的删除 * * 根据下标去删除数组中的值 * @author zhang * */public class ArrayDel { public static void main(String[] args) { //原始数组 int[] oldAr...原创 2019-05-28 14:27:30 · 1685 阅读 · 0 评论 -
数据结构之数组元素的添加
数据结构之数组元素的添加描述:数组一旦创建了,那么是不可变的,现在有一个长度为3的数组,数组的数据为:1,2,3,想将4添加到这个数组的末尾中,如何打破当前的限制?代码参考:/** * 现在有一个长度为3的数组,数组的数据为:1,2,3,我们想将4添加到这个数组的末尾中 * 数组的长度一旦创建,那么不可变。 * @author zhang * */public...原创 2019-05-28 14:25:26 · 788 阅读 · 0 评论 -
数据结构之数组的基本使用
数组的基本使用//数组的基本使用public class ArrayUse { public static void main(String[] args) { //创建一个长度为3的数组 int[] array=new int[3]; //查看数组的长度 System.out.println("数组的长度:"+array.length); //数组的长度...原创 2019-05-28 14:22:19 · 215 阅读 · 0 评论 -
数据结构与算法简介
数据结构与算法简介数据结构由如下三个方面组成:A.数据的逻辑结构数据的逻辑结构又分为如下: a.线性结构:结构中的数据元素之间存在一对一的关系。 线性结构主要包括如下部分: 1.数组 2.栈 3.队列 4.单链表 5.循环链表 6.双链表 7...原创 2019-05-28 14:19:06 · 231 阅读 · 0 评论 -
数据结构之队列
数据结构之队列的简介:队列相当于是一个存放元素的容器。队列的特点:遵循:先进先出的原则代码参考/** * 队列的学习类 * 什么是队列? * 队列相当于是一个存放元素的容器。 * * 队列的特点: * 遵循:先进先出的原则 * @author zhang * */public class QueueStudy { //创建一个队列 pr...原创 2019-05-30 18:21:14 · 118 阅读 · 0 评论 -
java算法之希尔排序
算法之希尔排序简介* 希尔排序是把记录按下标的一定增量分组,* 对每组使用直接插入排序算法排序;* 随着增量逐渐减少,每组包含的关键词越来越多,* 当增量减至1时,整个文件恰被分成一组,算法便终止。代码参考/** * 希尔排序 * * 希尔排序是把记录按下标的一定增量分组, 对每组使用直接插入排序算法排序; 随着增量逐渐减少,每组包含的关键词越来越多,...原创 2019-06-18 16:52:09 · 246 阅读 · 0 评论