10 2018 档案
摘要:前言 在高考结束以后,所有人都在等着成绩,政府部门面对几百万的数据,你知道他们是怎么算名次的么?上一次学到递归排序以及快排,确实,用他们可以实现,可是他们的时间复杂度最低都是O(nlogn)。今天我们来看看有没有更快捷的排序方法? 正文 桶排序 原理: 将需要排序的数据分到几个有序的桶里,每个桶里的
阅读全文
摘要:前言 在数据排序的算法中,不同数据规模应当使用合适的排序算法才能达到最好的效果,如小规模的数据排序,可以使用冒泡排序、插入排序,选择排序,他们的时间复杂度都为O(n2),大规模的数据排序就可以使用归并排序和快速排序,时间复杂度为O(nlogn)。今天我们就来看一下归并排序和快速排序。 正文 归并排序
阅读全文
摘要:前言 现在IT这块找工作,不会几个算法都不好意思出门,排序算法恰巧是其中最简单的,我接触的第一个算法就是它,但是你知道怎么分析一个排序算法么?有很多时间复杂度相同的排序算法,在实际编码中,那又如何选择呢?下面我们带着问题一起学习一下。 正文 一、常见经典的排序方法 (图片来自于一像素) 插入排序 一
阅读全文
摘要:前言 盗梦空间想象大多数人都看过:电影讲述的是主人公诺兰进入希里安·墨菲梦境植入想法的行动。为了向希里安·墨菲梦植入理念,影片进入四层梦境,即所谓:“梦中的梦中 梦中人的梦中”。 有一对兔子,每隔三个月会产下一对小兔子,小免子每隔三个月,也会产生新的一对免子,问36个月后,共有多少对兔子。 诸如此类
阅读全文
摘要:前言 队列是一种非常实用的数据结构,类似于生活中发排队,可应用于生活,开发中各个方面,比如共享打印机(先请求先打印),消息队列。你想知道他们是怎么工作的么。那就来一起学习一下队列吧 正文 一、队列的定义? 1.一种先进先出的线性表 2.只允许入栈 push()和出栈 pop() 在后端(称为rear
阅读全文
摘要:前言 栈最为一种的常用的数据结构,用“桶”来形容最合适不过;今天我们就来学习一下 正文 一、栈的定义? 1.“后进先出,先进后出”的数据结构。2.从操作特性来看,是一种“操作受限”的线性表,只可以在一端插入和删除数据。 二、为什么需要栈? 1.任何数据结构都是对特定应用场景的抽象,栈是一种操作受限的
阅读全文
摘要:前言 想成功你就得有决心,并有方法和技巧的付出精力。 正文 如何优雅的写出链表代码? 一、理解指针或引用的含义 将某个变量(对象)赋值给指针(引用),实际上就是就是将这个变量(对象)的地址赋值给指针(引用)。 指针中存储了这个变量的内存地址,指向了这个变量,通过指针就能找到这个变量 p—>next
阅读全文
摘要:前言 链表(Linked list)比数组稍微复杂一点,在我们生活中用到最常见的应该是缓存,它是一种提高数据读取性能的技术,常见的如cpu缓存,浏览器缓存,数据库缓存等。今天我们就来学习一下链表 正文 一、链表的定义? 1.一种线性表(数据排成像一条线一样的结构。每个线性表上的数据最多有前后两个方向
阅读全文
摘要:1. 下载Maven 官方地址:http://maven.apache.org/download.cgi 解压并新建一个本地仓库文件夹 2.配置本地仓库路径 3.配置maven环境变量 4.在IntelliJ IDEA中配置maven 打开-File-Settings 5.新建maven WEB项目
阅读全文
摘要:前言 数组看似简单,但掌握精髓的却没有多少;他既是编程语言中的数据类型,又是最基础的数据结构; 一个小问题: 为什么数据要从0开始编号,而不是 从1开始呢? 正文 带着问题进入学习 如何实现随机访问? 什么是数组? 数组(array)是一种线性表数据结构,它用一组连续的内存空间来储存一组具有相同类型
阅读全文
摘要:前言 每个系统的成型,上线都离不开测试,这段时间陆陆续续的学习测试,在这里总结一番;作为学习交流之用; 正文 软件测试概述 软件测试的历史: 什么是软件测试: 早期定义:软件测试是对程序能够按预期运行建立起一种信心。 经典定义:测试是为了发现错误而执行程序的过程。 IEEE定义(ISO/IEC/IE
阅读全文
摘要:前言: 大家都知道数据结构和英语,就如同程序员的两条腿一样;只有不断的积累,学习,拥有了健壮的“双腿”才能越走越远;在数据结构和算法的领域,不得不承认自己就是一只菜鸟;需要不断的学习;在学习过程中,经常会有一些自己的看法,和别人独特的见解;我都会一一做好笔记,以便进步; 正文:复杂度分析 一、什么是
阅读全文