摘要:
快速排序 快速排序(Quick Sort)使用分治策略的排序算法,它的算法的基本步骤如下: 1.选择一个基准(需要注意的是基准的选择策略可能影响算法的性能) 2.通过一趟排序将待排序的序列分割成独立的两部分,其中前一部分记录的元素值比基准小,后一部分记录的元素值比基准大,这一步叫做分割 3.通过一趟 阅读全文
摘要:
选择排序 选择排序(Select Sort)是以中简单直观的排序算法。它的基本思想是: 对于一个给定的未排序序列,经过第一轮比较后得到最小的元素,然后将该元素和序列中的第一个元素进行交换; 然后在从剩余的序列中选择的最小的元素和第二个元素交换位置; 重复该过程,直到需要比较的元素只有一个为止。 选择 阅读全文
摘要:
希尔排序 希尔排序是希尔(Donald Shell)于1959年提出的一种排序算法。希尔排序也是一种插入排序,它是简单插入排序经过改进之后的一个更高效的版本,也称为缩小增量排序,同时该算法是冲破O(n^2)的第一批算法之一 基本思想 希尔排序的基本思想是:现将待排序的数组分成多个待排序的子序列,使得 阅读全文
摘要:
直接插入排序 直接插入排序简介 直接插入排序(Straight Insertion Sort)的基本思想是:把 个待排序的元素看成一个有序表和一个无序表。开始的时候有序表中只包含1个元素,无序表中只包含 个元素,排序的过程每次从无序表中选取第一个元素,将它插在有序表中的适当的位置,构造新的有续表,重 阅读全文
摘要:
冒泡排序冒泡排序是一种比较简单的排序算法。它会遍历若干次要排序的序列,每次排序的时候,它都会从前往后比较相邻两个数的大小;如果前者比后者大,就交换他们的位置,这样一次遍历之后,最大的元素就在数列的末尾! 采用相同的方法再次遍历的时候,第二大的元素就被排列在最大的元素之前。重复上述排列过程,直达整个数 阅读全文
摘要:
转载自https://blog.csdn.net/dawn_after_dark/article/details/74527137 前言 想必大家已经对常用的修饰符有所了解,比如public、protected、private和final等等,已经知道大概是怎么用的,但是涉及到具体可能就有所搪塞,比 阅读全文
摘要:
使用字符串实现大数的相加,包含负数,下面直接上代码,转载请注明出处: 阅读全文
摘要:
题目描述 输入一个字符串,打印出该字符串中字符的所有排列。例如输入字符串abc,则输出由字符a、b、c 所能排列出来的所有字符串abc, acb, bac, bca, cab, cba。 题目分析 穷举与递归 又是一个经典问题,最容易想到的解决方法仍然是穷举(我实在是太爱穷举法了,每当被问到算法问题 阅读全文
摘要:
转载自:https://blog.csdn.net/Jacky_chenjp/article/details/66477538 下一个全排列数 LeetCode中与Permutations相关的共有四题: 31. Next Permutation 46. Permutations 47. Permu 阅读全文
摘要:
转载自:https://www.cnblogs.com/abcjun/articles/4687539.html 概念 类变量 (静态变量) 1. 可以向前引用 2. 变量属于类本身 3. 类变量不依赖类的实例,类变量只在初始化时候在栈内存中被分配一次空间,无论类的实例被创建几次,都不再为类变量分配 阅读全文