随笔- 100
文章- 0
评论- 3
阅读-
30321
随笔分类 - 算法
算法思想篇-排序
摘要:递进的方式 插入,希尔,归并 冒泡,选择,快速 堆排序(树里) 一:分析排序 1.哪几个方面 时间效率 空间效率 交换次数 稳定性 2.稳定性的意义 二:插入排序 1.理解 可以理解成抓牌 2.代码 package com.jun.algorithm.foundation.thought; impo
阅读全文
算法思想篇-递归
摘要:1.什么情况下使用递归 可以将一个问题分解为很多子问题 这个问题的求解思路与子问题的思路完全一样 有递归的终止条件 2.斐波那契 package com.jun.algorithm.foundation.thought; import org.junit.Test; /** * 斐波那契 * 递归的
阅读全文
数据结构与算法-队列
摘要:特殊的线性表,插入在队尾,删除的是对头。 先进先出。 一:队列 1.普通队列实现 package com.jun.algorithm.foundation.main; /** * 使用数组实现队列 * * @author caojun */ public class ArrayQueue { pri
阅读全文
数据结构与算法-栈
摘要:先进后出的一种数据结构。 特殊的数组或者链表,线性表。 存在限制条件,只能操作栈顶。 一:有趣的题目 1.设计一个括号匹配的功能 package com.jun.algorithm.foundation.main; import java.util.Objects; /** * 括号问题 * <p>
阅读全文
数据结构与算法-链表
摘要:通过指针将一组零散的内存块串联在一起。 一:有趣的问题 1.LRU算法 按照时间有序的链表 如果存在链表中,删除,然后插入到头部 如果不存在,插入尾部 如果没有空间了,删除最后一个位置。 2.约瑟夫问题 这里的逻辑是,先形成一个环。 然后,p开始数数,之后1,2保留,3进行删除。 package c
阅读全文
数据结构与算法-数组
摘要:数组(Array)是一种线性表数据结构。它用一组连续的内存空间,来存储一组具有相同类型的数据。 一:有趣的开头 1.题目 一个全国的年龄数据,统计每一个年龄有多少人· 2.分析 我们可以进行一行一行的读取数据,年龄对应数组的下标,相同的年龄是相同的下标,可以针对这个下标里面的数据进行不断的累加。 当
阅读全文
数据结构与算法的基本入门
摘要:1.概述 为了更好的理解后续的算法,前置条件是了解好几个概念。 空间复杂度 时间复杂度 一:时间复杂度 1.时间复杂度的意义 测试接口的性能 使用压测,不一定准确,有可能是机器问题,也可能是数据不准确,也可能是流程太长。 对自己的代码进行分析 2.常见的空间复杂度 o(1):能确定的数字,常量 o(
阅读全文
算法目录
摘要:1.概述 理解好基本的数据结构,后续的算法题做起来,才不会有压力。 后续的文档,涉及到算法,将会持续更新链接。 一:目录 1.基本入门 https://www.cnblogs.com/juncaoit/p/15978773.html 2.基本数据结构 数组:https://www.cnblogs.c
阅读全文