算法
勒布朗.马克思
这个作者很懒,什么都没留下…
展开
-
Mysql-索引背后的数据结构及算法原理
写在前面的话 在编程领域有一句人尽皆知的法则“程序 = 数据结构 + 算法”,我个人是不太赞同这句话(因为我觉得程序不仅仅是数据结构加算法),但是在日常的学习和工作中我确认深深感受到数据结构和算法的重要性,很多东西,如果你愿意稍稍往深处挖一点,那么扑面而来的一定是各种数据结构和算法知识。例如几乎每个程序员都要打交道的数据库,如果仅仅是用来存个数据、建建表、建建索引、做做增删改查,那么也许觉得数据结构和这东西没什么关系。不过要是哪天心血来潮,想知道的多一点,想研究一下如何优化数据库,那么一定避免不了研究索引的转载 2020-05-20 09:09:10 · 140 阅读 · 0 评论 -
算法之归并排序(java实现)
package learn.algo; import java.util.*; public class MergeSort{ // 我们的算法类不允许产生任何实例 private MergeSort(){} // 将arr[l...mid]和arr[mid+1...r]两部分进行归并 private static void merge(Comparable[] arr, int l, int mid, int r) { Comparable[] a原创 2020-05-19 17:00:03 · 74 阅读 · 0 评论 -
算法之插入排序(java实现)
package lean.algo; import java.util.*; public class InsertionSort{ // 我们的算法类不允许产生任何实例 private InsertionSort(){} // 对整个arr数组使用InsertionSort排序 public static void sort(Comparable[] arr){ int n = arr.length; for (int i = 0;原创 2020-05-19 16:34:45 · 70 阅读 · 0 评论 -
算法之快速排序-优化篇三路快排(java实现)
同理我们也可以分三路排序,这里只贴关键的代码,涉及的其它类在《算法之快速排序-优化篇双路快排(java实现)》中有。 package lean.algo; import java.util.*; public class QuickSort3Ways { // 我们的算法类不允许产生任何实例 private QuickSort3Ways(){} // 递归使用快速排序,对arr[l...r]的范围进行排序 private static void sort(Compar原创 2020-05-19 16:23:08 · 185 阅读 · 0 评论 -
算法之快速排序-基础篇(java实现)
前言 快速排序由C. A. R. Hoare在1960年提出。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。 public class QuickSort { // 我们的算法类不允许产生任何实例 private QuickSort(){} // 对arr[l...r]部分进行partition操作 //原创 2020-05-19 16:03:02 · 84 阅读 · 0 评论