
极客时间
Da_Bawang
我变强了 也变秃了
展开
-
冒泡排序、插入排序、选择排序
一、排序方法与复杂度归类几种最经典、最常用的排序方法:冒泡排序、插入排序、选择排序、快速排序、归并排序、计数排序、基数排序、桶排序。复杂度归类冒泡排序、插入排序、选择排序 O(n^2)快速排序、归并排序 O(nlogn)计数排序、基数排序、桶排序 O(n)二、如何分析一个“排序算法”?算法的执行效率最好、最坏、平均情况时间复杂度。时间复杂度的系数、常数和低阶。比较次数...原创 2018-11-04 09:19:51 · 211 阅读 · 0 评论 -
如何实现LRU淘汰缓冲算法
缓冲淘汰策略:指缓存被用满时清理数据的优先顺序先进先出策略(FIFO:First in,First out)最少使用策略(LFU:Least Frequently Used )最近最少使用策略(LRU:Least Recently Used)链表:通过‘指针’将一组零散的内存块串联起来使用。适合插入、删除操作频繁的场景,查询时间复杂度较高。链表分类单链表循环链表双...原创 2018-11-04 09:21:27 · 331 阅读 · 0 评论 -
为什么很多编程语言中数组都从0开始编号
定义数组(array)是一种线性表数据结构。用一组连续的内存空间,来存储一组具有相同类型的数据。如何实现随机访问线性表(数据排成像一条线一样的结构)连续的内存空间和相同类型的数据寻址公式a[i]_address = base_address + i * date_type_size容器的优势,eg:ArrayList将数组的操作细节封装起来,支持动态扩容(...原创 2018-11-04 09:24:06 · 298 阅读 · 0 评论