
JAVA基础--基本算法
yinni11
这个作者很懒,什么都没留下…
展开
-
经典算法应用之七----10亿数据中取最大的100个数据
给出三种思路,仅供参考。。1.思路一:根据快速排序划分的思想,每次分割之后只考虑比轴大的一部分,知道比轴大的一部分在比100多的时候,采用传统排序算法排序,取前100个。step1:递归对所有数据分成[a,b),(b,d]两个区间,(b,d]区间内的数都是大于[a,b)区间内的数step2:对(b,d]重复 step1操作,直到最右边的区间个数小于100个。注意[a,b)区间不用划分ste...转载 2020-01-08 12:01:38 · 586 阅读 · 0 评论 -
图解排序算法(三)之堆排序
堆排序堆排序是利用堆这种数据结构而设计的一种排序算法,堆排序是一种选择排序,它的最坏,最好,平均时间复杂度均为O(nlogn),它也是不稳定排序。首先简单了解下堆结构。堆堆是具有以下性质的完全二叉树:每个结点的值都大于或等于其左右孩子结点的值,称为大顶堆;或者每个结点的值都小于或等于其左右孩子结点的值,称为小顶堆。如下图:堆;或者每个结点的值都小于或等于其左右孩子结点的值,称为小顶...转载 2020-01-08 12:00:45 · 284 阅读 · 0 评论 -
时空复杂度(时间复杂度/空间复杂度)O(1)、O(n)、O(n^2)、O(log n)、O(n log n)是什么意思
这些都是算法时空复杂度的表示。不仅仅用于表示时间复杂度,也用于表示空间复杂度。 O后面的括号中有一个函数,指明某个算法的耗时/耗空间与数据增长量之间的关系。其中的n代表输入数据的量。O(1)解析O(1)就是最低的时空复杂度了,也就是耗时/耗空间与输入数据大小无关,无论输入数据增大多少倍,耗时/耗空间都不变。 哈希算法就是典型的O(1)时间复杂度,无论数据规模多大,都可以在一次计算后找...转载 2019-11-21 16:32:54 · 430 阅读 · 0 评论 -
数据结构和算法之排序四:冒泡排序
数据结构和算法之排序四:冒泡排序 我们在学习排序算法的时候或许很多人接触到的都是冒泡和选择这两种排序算法,其实真的可以说的是这两种算法确实是比较经典的排序方法,同时,在我的理解中,这两个排序具有惊奇的相似点。何为冒泡排序,如果我们在家煮过水都能知道,在水即将沸腾的时候会有一个又一个的水泡往上冒,这个现象其实和冒泡排序还是比较相似的,今天我们来讲一下这个冒泡。我们看下边的这幅图进行理解一下 ...转载 2018-04-12 20:04:24 · 156 阅读 · 0 评论 -
白话经典算法系列之六 快速排序 快速搞定
快速排序由于排序效率在同为O(N*logN)的几种排序方法中效率较高,因此经常被采用,再加上快速排序思想----分治法也确实实用,因此很多软件公司的笔试面试,包括像腾讯,微软等知名IT公司都喜欢考这个,还有大大小的程序方面的考试如软考,考研中也常常出现快速排序的身影。总的说来,要直接默写出快速排序还是有一定难度的,因为本人就自己的理解对快速排序作了下白话解释,希望对大家理解有帮助,达到快速排序...转载 2018-05-07 21:40:49 · 137 阅读 · 0 评论 -
数据结构常见的八大排序算法(详细整理)
前言八大排序,三大查找是《数据结构》当中非常基础的知识点,在这里为了复习顺带总结了一下常见的八种排序算法。常见的八大排序算法,他们之间关系如下: 排序算法.png 他们的性能比较: 性能比较.png下面,利用Python分别将他们进行实现。直接插入排序算法思想:直接插入排序.gif 直接插入排序的核心思想就是:将数组中的所有元素依次...转载 2018-07-17 10:18:17 · 308 阅读 · 0 评论 -
浅谈-二分查找
一、什么是二分查找?1、我们首先引入这样一个问题:如果规定某一科目成绩分数范围:[0,100],现在小明知道自己的成绩,他让你猜他的成绩,如果猜的高了或者低了都会告诉你,用最少的次数猜出他的成绩,你会如何设定方案?(排除运气成分和你对小明平时成绩的了解程度)①最笨的方法当然就是从0开始猜,一直猜到100分,考虑这样来猜的最少次数:1(运气嘎嘎好),100(运气嘎嘎背);②其实在我们根本不知道对方水...转载 2018-07-16 09:50:27 · 235 阅读 · 0 评论 -
导入文件的MultipartFile----- 导入文件的实现
MultipartFile是Spring框架中用来处理文件上传的类MultipartFile的代码路径是:import org.springframework.web.multipart.MultipartFile;需要引入的jar包是spring-web.jar在多部分请求中接收的上载文件的表示。文件内容存储在内存中或临时存储在磁盘上。在任何一种情况下,如果需要,用户负责将文件内...原创 2018-11-06 21:30:36 · 10112 阅读 · 0 评论