加载中
桶排序——不基于比较的排序

场景 员工按照age排序; 可以进行词频统计表,建一个数组,然后age的范围是150之内,就150个元素,每一个员工在对应的数组元素的age进行加1;然后按照数组顺序倒出来即可以得到排序; 这是计...

前缀树(字典树)

前缀树和字典树一个东西 概念模型 一棵树上每个节点有两个计数器 pass 和 end,表示当前节点的字符被经过多少次和结尾过多少次; 前缀树建立的时间成本是o(n)的; 前缀树作用: 查询某一个字...

03/31 20:53
56
堆结构与堆排序思想

堆结构是比堆排序重要的多的东西; 堆排序逆天就是空间复杂度o(1),搞出o(nlogn)的时间复杂度来; 堆的定义 堆是用数组模拟出来的完全二叉树,只存在大根堆和小根堆,再无其他; 完全二叉树是...

03/31 15:15
24
partion思想和框架(快速排序

partion思想 用一个根指针标记数组位置来和那个数循环依次进行比较,小于那个数放左边,左边索引+1;大于的放右边,右边索引-1; 怎么放,就是指针位置的这个数和左边右边区域外边最近的那个...

03/31 11:06
15
归并思想模板框架

归并思想核心 递归 归并是递归的典型应用,当然也可以采用非递归的方式完成; 递归核心步骤: 怎么拆分子问题? 自己调用自己叫做一分,二叉树二分法叫二分,多叉树叫多分; 也或者有别的分的思...

利用异或寻找最右侧的1

/** 异或就是无进位相加; 偶数个二进制1异或是0,奇数个二进制1异或是1; 任何数异或0都是他自己; 题目: 1、不使用任何额外空间交换两个数; 注:可以是相同的数异或,但是不能是同一块内存,...

03/30 16:27
60
二分法模板框架及注意事项

二分法模板与套路及注意事项 这个标题被屏蔽了 二分法核心思想本质就是排除法 有序的二分算法 在一个有序数组中,找某个数是否存在; 在一个有序数组中,找>=某个数最左侧的位置; 在一个有序...

03/30 15:59
53
各种排序算法分析

冒泡排序,选择排序,插入排序 冒泡排序 两两比较,每一轮取出最大值把最大或最小值推到某一端,然后下一轮比较N-1个数字,以此类推; 时间复杂度情况 : 每一个常数时间操作是一次比较+有可能...

03/30 08:57
57
单例模式以及问题和解决方案

volatile 对singleton对象防止重排序的问题 // singleton public class SinglentonPattern { // 防止新建对象时出现指令乱序 // 给对象开辟内存,生成指定对象,将引用指向, // 以上三个步骤...

算法总结

算法与数据结构核心指标和梳理脉络 核心指标 时间复杂度 要拆分成最基本的常数时间 最终的时间复杂度会忽略的低阶项和高阶项系数,并且会抹掉常数项; 如果高阶都一样,基本就不用理论分析了...

没有更多内容

加载失败,请刷新页面

没有更多内容

返回顶部
顶部