随笔分类 - 数据结构与算法
摘要:1)前提:字符串以单个字符的形式存储在单链表中。2)遍历链表,判断字符个数是否为奇数,若为偶数,则不是。3)将链表中的字符倒序存储一份在另一个链表中。4)同步遍历2个链表,比较对应的字符是否相等,若相等,则是水仙花字串,否则,不是。 样例: 上海自来水来自海上
阅读全文
摘要:个人觉得,记数排序其实是桶排序的一直特殊情况。 当要排序当数据是n,所处的数据范围不大的时候,最大值为k,我们就可以把数据划分为k个桶。每个桶内大数据都相同,省去了桶内快排的时间。 我们拿高考查分系统来说明。我们查分时,系统会现实我们的成绩以及所在省的排名。如果所在省有100万考生,如何通过成绩快速
阅读全文
摘要:课前学习: 什么是线性排序 ?我们把时间复杂度是O(n)的排序算法叫作线性排序。因为这些排序算法的时间复杂度是线性的。 桶排序(Bucket sort) 核心思想就是将要排序的数据分到几个有序的桶里,每个桶里的数据在单独进行排序。 桶排序的时间复杂度为什么是O(n)呢?我们来分析一下。 如果需要排序
阅读全文
摘要:一、基本概念: 1、什么是缓存? 缓存是一种提高数据读取性能的技术,在硬件设计、软件开发中都有着非广泛的应用,比如常见的CPU缓存、数据库缓存、浏览器缓存等等。 2、为什么使用缓存?即缓存的特点缓存的大小是有限的,当缓存被用满时,哪些数据应该被清理出去,哪些数据应该被保留?就需要用到缓存淘汰策略。
阅读全文
摘要:常见的策略有三种: 先进先出策略 FIFO(First In,First Out) 最少使用策略 LFU(Least Frequently Used) 最近最少使用策略 LRU(Least Recently Used) 对比数组和链表: 数组:是一块连续的存储单元 链表:是通过“指针”将一组零散的内
阅读全文