摘要: 堆排序:O(nlogn) 堆排序实际上是利用堆的性质来进行排序的,要知道堆排序的原理我们首先一定要知道什么是堆。 堆的定义: 堆实际上是一棵完全二叉树。 堆满足两个性质: 1、堆的每一个父节点都大于(或小于)其子节点; 2、堆的每个左子树和右子树也是一个堆。 堆的分类: 堆分为两类: 1、最大堆(大 阅读全文
posted @ 2019-07-26 15:59 virus丶舒 阅读(232) 评论(0) 推荐(0) 编辑
摘要: 概述 如果说收集算法是内存回收的方法论,那么垃圾收集器就是内存回收的具体实现。Java虚拟机规范中对垃圾收集器应该如何实现并没有任何规定,因此不同的厂商、不同版本的虚拟机所提供的垃圾收集器都可能会有很大差别,并且一般都会提供参数供用户根据自己的应用特点和要求组合出各个年代所使用的收集器。 这里讨论的 阅读全文
posted @ 2019-07-19 13:37 virus丶舒 阅读(158) 评论(0) 推荐(0) 编辑
摘要: 数据结构的介绍 数据结构是一门研究算法的学科,只从有了编程语言也就有了数据结构.学好数据结构可以编写出更加漂亮,更加有效率的代码。 要学习好数据结构就要多多考虑如何将生活中遇到的问题,用程序去实现解决. 程序 = 数据结构 + 算法 数据结构和算法的关系 算法是程序的灵魂,为什么有些网站能够在高并发 阅读全文
posted @ 2019-07-18 21:32 virus丶舒 阅读(236) 评论(0) 推荐(0) 编辑
摘要: 先看一个实际的需求 先看一个实际的需求 编写的五子棋程序中,有存盘退出和续上盘的功能。 分析问题: 分析问题: 因为该二维数组的很多值是默认值0, 因此记录了很多没有意义的数据.->稀疏数组 基本介绍 当一个数组中大部分元素为0,或者为同一个值的数组时,可以使用稀疏数组来保存该数组。 稀疏数组的处理 阅读全文
posted @ 2019-07-18 21:30 virus丶舒 阅读(303) 评论(0) 推荐(0) 编辑
摘要: 队列的一个使用场景 银行排队的案例: 队列介绍 队列是一个有序列表,可以用数组或是链表来实现。 遵循先入先出的原则。即:先存入队列的数据,要先取出。后存入的要后取出 示意图:(使用数组模拟队列示意图) 数组模拟队列 队列本身是有序列表,若使用数组的结构来存储队列的数据,则队列数组的声明如下其中 ma 阅读全文
posted @ 2019-07-18 21:29 virus丶舒 阅读(266) 评论(0) 推荐(0) 编辑
摘要: 链表介绍 链表是有序的列表,但是它在内存中是存储如下 小结 链表是一个有序列表 链表的数据,在内存空间不一定是连续分布的. 单链表的介绍 单链表(带头结点) 逻辑结构示意图如下 // 所谓带头节点,就是链表的头有一个head节点, 该节点不存放具体的数据,只是为了操作方便而设计的这个节点. 单链表的 阅读全文
posted @ 2019-07-18 21:28 virus丶舒 阅读(301) 评论(0) 推荐(0) 编辑
摘要: 看一个实际需求 (出栈,入栈,先进后出) 请输入一个表达式 计算式:[7*2*2-5+1-5+3-3] 点击计算【如下图】 请问: 计算机底层是如何运算得到结果的?注意不是简单的把算式列出运算,因为我们看这个算式 7 * 2 * 2 - 5, 但是计算机怎么理解这个算式的(对计算机而言,它接收到的就 阅读全文
posted @ 2019-07-18 21:26 virus丶舒 阅读(194) 评论(0) 推荐(0) 编辑
摘要: 看个实际应用场景 迷宫问题(回溯) 递归的概念 简单的说: 第归就是函数/方法自己调用自己,每次调用时传入不同的变量.第归有助于编程者解决复杂的问题,同时可以让代码变得简洁。 递归快速入门 我列举两个小案例,来帮助大家理解递归,递归在讲函数时已经讲过(当时讲的相对比较简单),这里在给大家回顾一下递归 阅读全文
posted @ 2019-07-18 21:25 virus丶舒 阅读(213) 评论(0) 推荐(0) 编辑
摘要: 排序的介绍 排序是将一组数据,依指定的顺序进行排列的过程, 常见的排序: 冒泡排序 选择排序 插入排序 快速排序 归并排序 冒泡排序 冒泡排序(Bubble Sorting)的基本思想是:通过对待排序序列从后向前(从下标较大的元素开始),依次比较 相邻元素的排序码,若发现逆序则交换,使排序码较小的元 阅读全文
posted @ 2019-07-18 21:23 virus丶舒 阅读(184) 评论(0) 推荐(0) 编辑
摘要: 介绍: 在java中,我们常用的查找有两种: 1) 顺序(线性)查找 2) 二分查找 线性查找 有一个数列: {1,8, 10, 89, 1000, 1234} ,判断数列中是否包含此名称【顺序查找】要求: 如果找到了,就提示找到,并给出下标值。 object OrderSearch { def m 阅读全文
posted @ 2019-07-18 21:22 virus丶舒 阅读(200) 评论(0) 推荐(0) 编辑