
数据结构与算法
文章平均质量分 91
Super_Yiang
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
力扣算法刷题(一)——Array
一、数组删除 1)【27】移除元素 题目链接:https://leetcode-cn.com/problems/remove-element/ 我的解: class Solution { public int removeElement(int[] nums, int val) { if(nums.length==0){ return 0; ...原创 2020-02-10 21:39:47 · 598 阅读 · 0 评论 -
链表(上)
一、如何实现LRU缓存淘汰算法? 缓存时一种提高数据读取性能的计数,在硬件设计、软件开发中都有非常广泛的应用,比如常见的CPU缓存、数据库缓存、浏览器缓存等等。 缓存的大小有限,当缓存被用满时,哪些数据应该被清理出去,哪些数据应该被保留,就需要缓存淘汰策略来决定。常见的策略有三种:先进先出策略FIFO(First In,First Out)、最少使用策略LFU(Least Frequently U...原创 2020-02-05 19:47:39 · 371 阅读 · 0 评论 -
数组
一、引言 数组大家都不陌生,在每一种编程语言中,基本都会有数组这种数据类型,它是一种编程语言中的数据类型,还是一种最基础的数据结构。 那大家有没有想过为什么在很多的编程语言中数组都是从0开始,而不是从1开始呢? 二、如何实现随机访问? 数组(Array)是一种线性表数据结构,它用一组连续的内存空间,存储一组具有相同类型的数据。 1)线性表和非线性表 线性表是数据排成像一条线一样的结构,每个线性表上...原创 2020-02-04 20:58:55 · 371 阅读 · 0 评论 -
复杂度分析
一、如何分析、统计算法的执行效率和资源消耗 1)为什么需要复杂度分析? 首先我先给大家介绍一下事后统计法:将代码执行一遍,通过统计、监控,就能得到算法执行的时间和占用的内存大小。但是这种统计方法有很大的局限性。 1.测试结果非常依赖测试环境 2.测试结果受数据规模的影响很大 所以需要一个不用具体的测试数据就能粗略地估计算法的执行效率的方法——时间、空间复杂度分析方法。 2)大O复杂度表示法 算法的...原创 2020-02-03 16:26:56 · 2557 阅读 · 0 评论