
数据结构和算法
张少飞
这个作者很懒,什么都没留下…
展开
-
堆排序解析
堆排序一、简介备注:简介,代码来源,均来自于菜鸟教程:https://www.runoob.com/w3cnote/heap-sort.html,本文主要是对算法进行讲解,方便自己记忆以及大家理解。1、堆排序(Heapsort)是指利用堆这种数据结构所设计的一种排序算法。堆积是一个近似完全二叉树的结构,并同时满足堆积的性质:即子结点的键值或索引总是...原创 2020-11-16 18:32:10 · 532 阅读 · 0 评论 -
归并排序
归并排序一、时间复杂度 稳定排序算法 O(n log n)二、归并排序基本思路 归并排序主要的操作是通过递归将数据集拆分成最小集合,也就是单个数,然后从最小集合开始往上递归合并。如其名,递归分解数据及,然后将拆分后的数据及归结。如下图(图片资源,算法资源来源于:https://zhuanlan.zhihu.com/p/36075856) 动态图具体算法解析public static void mergeSortSum(int[] unso...原创 2020-11-12 17:24:37 · 194 阅读 · 1 评论 -
插入排序
一、时间复杂度:稳定算法 O(n^2)二、排序原理简述外循环N个元素需要执行N轮,内循环每一轮将一个元素插入到正确的位置。逐一比较,逐一交换值,因为已经前面的值已经是排好序的,外循环i前面的值都是已经排好序的数。 public static void insertSort(int[] unsortedList){ int len = unsortedList.length; for (int i=0; i<len;i++){ for原创 2020-11-12 15:13:54 · 113 阅读 · 0 评论 -
快速排序算法简述
快速排序算法简述:一、时间复杂度:1、最优时间复杂度O(n*logn)2、最差时间复杂度O(n2),倒序时,每个元素都需要交换二、排序原理简述 首先任意取一个标准值,随机取或者取第一个元素如(1,2,4,8,3)取第一个元素作为标准值 1,以1作为标准,将大于等于1的放在待排序列右边,将小于1的放在待排数列左边,然后待排数列就分割成了两个部分,然后对分割出来的两部分待排数组分别做相同的递归操作。三、算法流程(以取第一个元素作为基准)1、取第一个元素作为基准值,确...原创 2020-11-12 14:14:41 · 853 阅读 · 2 评论 -
什么是数据结构&算法,主要包括那几种
数据结构是对在计算机内存中(有时候是在硬盘中)的数据的一种组织形式结构方式。例如数组链表栈,二叉树,哈希表队列算法是对这些结构中的数据进行各种处理,例如排序。例子:一条人事档案记录描述了一位真实忍的信息,一条存活纪录描述了一个真实存在的汽车部件活着杂货店里的一种商品,一条财务交易描述了一笔交易信息。原创 2016-07-07 10:53:21 · 1599 阅读 · 0 评论 -
简单自定义可变长度数组ArrayList
package objorientation;/** * custom ArrayList simple implements * */public class MyArrayList { int[] currentList = null; int size; /** * init the list * @par原创 2016-07-07 11:44:19 · 1696 阅读 · 0 评论 -
冒泡排序
1、冒泡排序每次都冒一个泡泡,最大或者最小。要进行N-1轮筛选原创 2016-07-07 12:00:10 · 264 阅读 · 0 评论 -
Android RSA加密 在服务端进行RSA解密不成功的问题
如题,原因是因为,加密标准的原因。"RSA/ECB/PKCS1Padding" 与'RSA" 在ANdroid中应该使用这个标准Cipher cipher = Cipher.getInstance("RSA/ECB/PKCS1Padding");在服务端使用这个标准Cipher cipher = Cipher.getInstance("RSA");原创 2016-12-15 09:27:04 · 5800 阅读 · 4 评论