算法
主要介绍一些基本算法(当然最基础的就不介绍了,主要介绍一些常用的算法以及比较难理解的算法),配上个人的一些理解思路。认真学起来不算太难。
斗 鹰
涉及JavaEE,数据结构与算法以自己平时写代码一些bug。
展开
-
数据结构之链表增删改查实现方式(Java)
链表链表是一种在物理上非连续、非顺序的数据结构,由若干个节点(node)所组成。单向链表的每一个节点又包含两部分,一部分是存放数据的变量data,另一部分是指向下一个节点的指针next。链表的第一个节点被称为头节点,最后一个节点被称为尾节点,尾节点的next指针指向空。链表是通过其中的next属性来确定下一个节点,来顺序存储。如图:下面主要说一下单链表的增删改查的实现方式以及...原创 2019-08-15 16:21:16 · 841 阅读 · 6 评论 -
八种排序算法(直接插入、shell、冒泡、快速、简单插入、堆排、归并、基数)的基本思想与实现、分析(时间复杂度、稳定性)以及全部代码实现
1、直接插入排序直接插入排序基本思想:把n个待排序的元素看成一个有序表和一个无序表,开始时有序表中只包含一个元素,无序表中包含n-1个元素,排序过程中每次从无序表中取出第一个元素,把它的排序码依次与有序表元素的排序码进行比较,将它插入到有序表中的适当位置,使之成为新的有序表。排序过程:代码实现:public class InsertSort { public stat...原创 2019-08-01 14:16:33 · 1726 阅读 · 4 评论 -
Java数组练习二(反转、复制、查找)
1、写出一维数组初始化的两种方式int[] arr = new int[5]; //动态初始化int[] arr = new int[]{1,2,3,4};//静态初始化2、写出二维数组初始化的两种方式int[][] arr = new int[5][4];int[][] arr1 = new int[5][];//动态初始化int[][] arr3 = new int[]...原创 2019-07-31 20:58:10 · 473 阅读 · 2 评论 -
重定向输入流实现程序日志
System类中的out成员变量是java的标准输出流,程序常用它来调试信息。out成员变量被定义为final类型,无法直接复制,但是可以通过setOut()方法来设置新的输出流。下述方法实现了输出流的重定向,把它指向一个文件输出流,从而实现了日志功能。程序运行后控制台提示运行结束信息。控制台提示运行结束信息: 重定向输出流实现程序日志的效果: ...原创 2018-10-20 20:51:06 · 261 阅读 · 0 评论 -
杨辉三角算法的实现(java)
杨辉三角形有数字排列,可以把它看做一个数字表,其基本特性是两侧数值均为1,其他位置的数值是其正上方与左上角数值之和。这里给出两种实现方法。第一种: 再创建的YanghuiTriabgle类中的主方法创建一个二维数组,并指定二维数字的第一维长度,这个数组同于存放杨慧三角形的数值表,通过双层for循环来实现第二维数组的长度,然后计算整个数组的每个元素的值。关...原创 2018-10-03 22:48:07 · 7096 阅读 · 0 评论 -
Java集合_Connection接口(List子接口(ArrayList&LinkedList&Vector实现类区别)、Set子接口(HashSet&TreeSet实现类区别))源码剖析
前面重点说的差不多了,今天讲讲集合中关于Connection接口中的常用List子接口和Set子接口吧,权当自己复习过程了,自己在梳理一遍,有空闲读者也试试这种方式,整个知识的体系架构就在脑海里了存着了,今天先说到这那么开始今天的主题吧。Connection1、Connection接口以及常用子接口的概述。|---Collection接口:存储的是一个一个的数据 ...原创 2019-09-22 13:41:00 · 1052 阅读 · 2 评论