算法自学
文章平均质量分 66
勤劳的小王
萌新一枚,欢迎大佬指教。非常感谢
展开
-
第五章 串
串原创 2022-08-18 20:00:00 · 292 阅读 · 1 评论 -
第三章 栈与队列(二)
栈与队列原创 2022-08-15 20:00:00 · 251 阅读 · 0 评论 -
第三章 线性表(三)
单循环链表,双向链表原创 2022-08-12 20:00:00 · 77 阅读 · 0 评论 -
第三章 线性表(二)
线性表之单链表原创 2022-08-11 20:00:00 · 105 阅读 · 0 评论 -
第三章 线性表(一)
线性表原创 2022-08-03 20:00:00 · 178 阅读 · 0 评论 -
第二章 算法
算法概念原创 2022-07-30 20:00:00 · 165 阅读 · 0 评论 -
第一章 数据结构绪论总结
数据结构概论原创 2022-07-29 20:00:00 · 227 阅读 · 0 评论 -
算法(第四版)之 --栈
栈:是一种基于后进先出(LIFO)策略的集合类型用数组实现栈:public class Stack<Item>{ pirvate int n=0; private Item []data=new Item[1]; public boolean isEmpty(){ return n==0; }; public int size(){ return n; }; public void reSize(int max){ Item []a=new Item[max];原创 2021-12-22 20:00:00 · 223 阅读 · 0 评论 -
算法(第四版)之插入排序、希尔排序初学
参考理解文章插入排序:通常人们整理桥牌的时候都是一张一张来,将每一张牌插入到其他已经有序的牌中。在计算机的实现中,为了给要插入元素腾出空间,我们需要将其余所有元素再插入之前都向右移动一位,这种算法就叫做插入排序。与选择排序一样,当前索引左边的所有元素都是有序的,但他们的最终位置还不确定,为了给更小的元素腾出空间,他们可能会被移动。但是当索引到达数组的右端时,数组排序就完成了。和选择排序不同的是,插入排序所需的时间取决于输入中元素的初始顺序。例如,对一个很大且其中的元素已经或接近有序的数组进行排序.原创 2021-12-21 20:00:00 · 100 阅读 · 0 评论 -
算法(第四版)之冒泡排序、选择排序初学
参考大佬讲解冒泡排序主要思路:依次比较相邻的两个数,将比较小的数放在前面,比较大的数放在后面。代码如下:import java.util.Arrays;public void Sort{ public static void main(String []args){ int []arr={ 49, 38, 65, 97, 23, 22, 76, 1, 5, 8, 2, 0, -1, 22 }; maoPaoSort(arr); System.out.print(Arrays.原创 2021-12-20 20:00:00 · 123 阅读 · 0 评论 -
算法(第四版)之归并排序初学
结合这位大佬的讲解归并排序:要将一个数组排序,可以先(递归地)将它分成两半分别排序,然后将结果归并起来。该算法采用经典的分治(divide-and-conquer)策略(分治法将问题分(divide)成一些小的问题然后递归求解,而治(conquer)的阶段则将分的阶段得到的各答案"修补"在一起,即分而治之)。结合上面大佬的图片理解归并排序最吸引人的性质是它能够保证将任意长度为N的数组排序所需时间和NlogN成正比;它的主要缺点则是他所需的额外空间和N成正比。结合上图实现简单的归并排序代码im.原创 2021-12-17 20:00:00 · 111 阅读 · 0 评论 -
算法(第四版)之快速排序初学
参考一位大佬白话讲解(不知道为啥他的代码我抄了没反应 ???? )快速排序是一种分治的排序算法。它将一个数组分成两个子数组,将两部分独立地排序。快速排序与归并排序互补:归并排序将数组分成两个子数组分别排序,并将有序子数组归并以将整个数组排序;而快速排序将数组排序的方式则是当两个子数组都有序时整个数组也就自然有序了。在归并排序中递归发生在处理整个数组之前;在快速排序中递归发生在处理整个数组之后。在归并排序中,一个数组被等分为两半;在快速排序中,切分的位置取决于数组的内容。用上面那位大佬的意思来说就是:原创 2021-12-16 16:15:02 · 164 阅读 · 0 评论