
算法研究
文章平均质量分 53
算法(Algorithm)是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制。也就是说,能够对一定规范的输入,在有限时间内获得所要求的输出。如果一个算法有缺陷,或不适合于某个问题,执行这个算法将不会解决这个问题。
lreis2010
乐观开朗
展开
-
Algorithm-异或总结
文章目录前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结前言异或运算的定义与运算法则可参考《百度词条》原创 2021-08-31 20:17:25 · 147 阅读 · 0 评论 -
Algorithm-左程云-堆排序
本文是学习了左神教学视频后编码完成的,相对于上一篇堆排序算法Algorithm-排序算法-堆排序_lreis2010-优快云博客过程更加清晰简练,学习了。1.构建最大堆在堆中插入一个新的元素,需要判断该元素与父节点之间的大小关系进行适当的调整,保证当前数据结构是一个最大堆。构建最大堆的过程是一个自下而上的调整过程。 // 插入新的数,调整堆为最大堆 // 自下而上的调整 private void heapInsert(int[]arr, int index){.原创 2021-09-09 20:04:17 · 369 阅读 · 0 评论 -
Algorithm-排序算法-2路归并排序
归并排序的核心思想是分治策略,将待排序队列等分为多个待排序的子序列,每个子序列排序完成后再将结果集合并。二路归并排序是将待排序队列递归两个子序列进行排序。算法描述将待排序队列分割成两个长度分别为 长度(length)/2 的两个子序列 在两个子序列里递归使用归并排序进行排序 将排序完成的子序列结果集合并为最终的排序队列动态演示算法实现1.分割两个子序列public ...原创 2019-03-26 16:15:55 · 479 阅读 · 0 评论 -
Algorithm-排序算法-堆排序
堆排序是选择类排序算法,核心思想依然是选择最大(小)的元素,与直接选择排序不同的是,堆排序借助了最大堆的特性,使得最大元素的查找更加的便利。最大堆最大堆是二叉堆的一个形式,最大堆要求根节点的关键字是所有节点关键字中的最大者,即要求最大堆根节点的关键字不小于其左叶子的关键字,也不能小于右叶子的关键字。这就要求最大堆:最大堆的子树也是一个最大堆; 最大堆是完全二叉树,而且是根节点关键字大...原创 2019-03-20 21:23:19 · 233 阅读 · 0 评论 -
Algorithm-排序算法-希尔排序
希尔排序是插入排序的升级版,核心思想是分治思想+直接插入排序。算法描述生成一个递减的数字序列Tn,t1,t2,...,ti...tj..tk;其中ti>tj,tk=1; 选择Tn的第一个元素t1对待排序数列分组,第i个分组Gi内元素在待排序序列中的索引为(t1*0+i,t1*1+i,...t1*n+i); 在各个分组内使用直接插入排序算法进行排序; 依次选取Tn内的元素重复2)...原创 2019-03-20 15:55:29 · 164 阅读 · 0 评论 -
Algorithm-排序算法-插入排序
插入排序的核心思想是站在自己该站的地方,基本原理就是通过构建有序序列,对于未排序的数据,在已排序的序列中从后往前扫描,找到自己的位置并插入。算法描述从第一个元素开始,认定该元素是已经排序完成的; 取出下一个元素,从已排序的序列中从后往前扫描; 如果已排序的序列大于待排序元素,则已排序的元素后移; 重复步骤3,直到待排序元素找到自己的位置 将待排序元素插入到相应位置; 重复以上步骤...原创 2019-03-19 12:01:20 · 188 阅读 · 0 评论 -
Algorithm-排序算法-快速排序
快速排序算法是交换类排序算法,核心思想是分治思想,将待排序元素分割成两个待排序序列进行排序。算法描述从待排序序列中选择一个元素作为基准值(pivot); 以基准值为标准分割待排序序列,使得所有比基准值大的元素排列在基准值的后面,所有比基准值小的元素排列在基准值的前面; 在分割后的待排序序列中重复1)2)步骤,直到排序完成。动态演示算法实现1.快速排序算法packag...原创 2019-03-19 11:53:58 · 216 阅读 · 0 评论 -
Algorithm-排序算法-选择排序
选择排序算法比较简单直观,核心思想就像列兵战队一样,谁长的矮谁就往前站。算法描述:在待排序的队列中查找关键字最小的元素; 如果关键字最小的元素下标不是待排序的第一个元素,则将其与第一个元素交换位置; 在余下的待排序队列中,重复1、2步骤,直到所有元素排序完成。动态演示算法实现package com.lreis.algorithm.sort;import java.u...原创 2019-03-13 16:57:03 · 232 阅读 · 0 评论 -
Algorithm-排序算法-冒泡排序
冒泡排序是比较简单的一种排序算法,该算法核心思想是队列中大的元素后冒泡一样被推送到队列的顶部。算法描述比较待排序队列中相邻的两个元素,如果前一个元素大于后一个元素,则交换两个元素的位置; 对队列中所有相邻的元素重复步骤1中的操作,遍历一遍后,最大的元素会被交换到队列的顶端; 除了被交换到最后的最大元素,其他未完成排序的元素重复步骤2。同理会将次最大的元素交换到未排序元素的队列顶端; ...原创 2019-03-08 19:30:57 · 510 阅读 · 2 评论