
Java数据结构与算法
Java数据结构与算法的一些基础知识的总结
水里一条老咸鱼
菜逼一个,随时准备向各位大佬学习
展开
-
Java数据结构——栈相关知识
一、栈的基本概念:栈作为一种数据结构,是一种只能在一端进行插入和删除操作的特殊线性表。它按照先进后出的原则存储数据,先进入的数据被压入栈底,最后的数据在栈顶,需要读数据的时候从栈顶开始弹出数据(最后一个数据被第一个读出来)。栈具有记忆作用,对栈的插入与删除操作中,不需要改变栈底指针因此,栈有着这样的一个特点“先进后出”,先进去的元素最后才能出来为了便于理解,我们可以举一个例子,就像桶装薯片一样,因为只有一个出入口,所以我们吃进去的第一片薯片往往是包装时最后一个进去的薯片;而我们吃到最后的那一片薯片一般原创 2020-09-15 16:58:53 · 223 阅读 · 0 评论 -
Java排序算法——插入排序
一、插入排序的原理:插入排序(英语:Insertion Sort)的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实现上,在从后向前扫描过程中,需要反复把已排序元素逐步向后挪位,为最新元素提供插入空间。举一个例子:对“54180”进行一个由小到大的排序1、先取出一个5,因为只有一个数字,所以无需排序。2、再取出4,此时排序完成的序列是5,要把4和5组成一个由小到大的序列,所以将4插入5的前面。3、再取出1,此时排序完成的序列是45,如果要将一原创 2020-09-14 21:26:32 · 876 阅读 · 0 评论 -
Java数据结构——单向链表
一、单链表的相关知识:在链表之前,对于数据的群体存储一般采用的是数组来进行存储,数组是一种线性的结构,数组的优点就在于数组内所有的内容都是线性紧密分配的,通过下标就能很方便迅速的访问到我们要访问的指定元素。但是数组这种线性的特点也导致当数组需要添加元素的时候会很麻烦。首先由于数组长度已定,所以添加的时候有可能面临着数组长度不够的问题;另外由于数组每个元素之间紧密排布,所以如果想要插在指定位置增加...原创 2020-03-03 11:52:53 · 171 阅读 · 0 评论 -
Java排序算法——选择排序
一、选择排序的原理(默认排序为从小到大):原理:每一趟从待排序的记录中选出最小的元素,顺序放在已排好序的序列最后,直到全部记录排序完毕。第i趟简单选择排序是指通过n-i次关键字的比较,从n-i+1个记录中选出关键字最小的记录,并和第i个记录进行交换。先临时记录其位置,只有在一趟循环完毕以后确定了最小的数据,才会发生交换。例:对 9 1 5 3 7 进行选择排序:第一步:找到1最小,1和9交换...原创 2020-02-25 07:11:51 · 311 阅读 · 0 评论 -
Java排序算法——冒泡排序
一、冒泡排序原理:这里我们的排序是默认排成从小到大的顺序的:思路:依次比较相邻的两个数,将小数放在前面,大数放在后面。即在第一趟:首先比较第1个和第2个数,将小数放前,大数放后。然后比较第2个数和第3个数,将小数放前,大数放后,如此继续,直至比较最后两个数,将小数放前,大数放后。重复第一趟步骤,直至全部排序完成。第一趟比较完成后,最后一个数一定是数组中最大的一个数,所以第二趟比较的时候最后...原创 2020-02-24 04:25:53 · 603 阅读 · 0 评论