![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
小阿鑫丫
这个作者很懒,什么都没留下…
展开
-
递归与递归方程T(N)=aT(N/b)+O(N^d)
递归与递归方程前言1. 用递归方法求数组arr[L..R]中的最大值2) 递归方程T(N)=aT(N/b)+O(N^d)前言递归:将一件大事分解成若干小事,通过对小事结果的决策过程,就能获得大事的答案递归改成迭代(循环)–>就是自己用代码实现压栈,模拟系统栈的行为1. 用递归方法求数组arr[L…R]中的最大值解析:1) 将[L…R]范围分成左右两半。左:[L…Mid]右[Mid+1…R]2) 左部分求最大值,右部分求最大值3)&nbs原创 2021-02-05 18:40:32 · 12541 阅读 · 3 评论 -
栈和队列的常见面试题-栈实现队列-队列实现栈
栈和队列的常见面试题-栈实现队列-队列实现栈1) 用栈结构实现队列结构2) 如何用队列结构实现栈结构)1) 用栈结构实现队列结构解析:用两个栈:push栈,pop栈push栈:存储数据pop 栈:只要本栈数据不为空,便将push栈数据倒出致此,实现队列public static class TwoStacksQueue { public Stack<Integer> stackPush; public Stack<Integer> stack原创 2021-02-05 16:29:30 · 10639 阅读 · 2 评论 -
栈和队列的常见面试题-返回栈最小元素
栈和队列的常见面试题-返回栈最小元素题目:标题实现一个特殊的栈,在基本功能的基础上,再实现返回栈中最小元素的功能**2 ) 设计的栈类型可以使用现成的栈结构1 ) pop、push、getMin操作的时间复杂度都是O(1)**1. java代码写法一:2. java代码写法二:)题目:标题实现一个特殊的栈,在基本功能的基础上,再实现返回栈中最小元素的功能**2 ) 设计的栈类型可以使用现成的栈结构1 ) pop、push、getMin操作的时间复杂度都是O(1)**解析:用两个栈:数据原创 2021-02-05 15:23:31 · 10470 阅读 · 1 评论 -
数组实现固定大小的队列
数组实现固定大小的队列前言1. java代码如下前言栈:正常用数组实现便可队列:环形数组(两个指针相互追赶)环形数组:初始化问题有点麻烦新增一个size变量,解耦指针追赶1. java代码如下public static class MyQueue { private int[] arr; private int pushi;// end private int polli;// begin private int size; private final int lim原创 2021-02-05 15:04:44 · 10743 阅读 · 3 评论 -
双向链表实现栈和队列
双向链表实现栈和队列前言1. 双向链表2. 栈 --》 双向链表 首部加 首部出 O(1)3. 队列 --》 双向链表 首部加 尾部出 O(1)前言栈 --》 双向链表 首部加 首部出 O(1)队列 --》 双向链表 首部加 尾部出 O(1)1. 双向链表 public static class Node<T> { public T value; public Node<T> last; public Node<T> next; publi原创 2021-02-05 14:45:13 · 10782 阅读 · 0 评论 -
单向链表与双向链表简单应用
单向链表与双向链表简单应用前言1. 单向链表如何反转2. 双向链表如何反转3. 将链表给定值都删除前言链表相关的问题几乎都是coding问题1. 单向链表如何反转public static Node reverseLinkedList(Node head) { Node pre = null; Node next = null; while (head != null) { next = head.next; head.next = pre; pre = head;原创 2021-02-05 14:30:15 · 10527 阅读 · 0 评论 -
位运算(异或+与)的妙用
@TOC前言真正在公司中的实践:NoSQL + RDBMS 一起使用才是最强的,阿里巴巴的架构演进!技术没有高低之分,就看你如何去使用!(提升内功,思维的提高!)云计算的长征之路:阿里云的这群疯子1. 异或 ^无进位相加,满足交换律 结合律0^N == N N^N == 0例子1. 如何不用额外变量交换两个数int a = 16; int b = 61; System.out.println("a交换前的值为:"+原创 2021-01-29 21:34:13 · 10885 阅读 · 3 评论 -
二分法-扩展局部最小
二分法-及其扩展局部最小前言1. 思考!二分法只能建立在有序数组上吗?1)在一个有序数组中,找某个数是否存在前言真正在公司中的实践:NoSQL + RDBMS 一起使用才是最强的,阿里巴巴的架构演进!技术没有高低之分,就看你如何去使用!(提升内功,思维的提高!)云计算的长征之路:阿里云的这群疯子二分法时间复杂度 O = log(N)1. 思考!二分法只能建立在有序数组上吗?经常见到的类型是在一个有序数组上,开展二分搜索但有序真的是所有问题求解时使用二分的必要条件吗?不只要能正确构建左右原创 2021-01-29 20:16:16 · 10596 阅读 · 4 评论 -
排序
排序前言1. 选择排序-selectionSort2. 冒泡排序-bubbleSort3. 插入排序-insertionSort前言真正在公司中的实践:NoSQL + RDBMS 一起使用才是最强的,阿里巴巴的架构演进!技术没有高低之分,就看你如何去使用!(提升内功,思维的提高!)云计算的长征之路:阿里云的这群疯子1. 选择排序-selectionSort public static void selectionSort(int[] arr) { if (arr == n原创 2021-01-29 17:59:35 · 10423 阅读 · 1 评论 -
对数器-测试自己算法算法正确
对数器-测试自己算法算法正确前言概括对数器概念对数器例子-测试选择排序算法是否正确对数器例子-测试冒泡排序算法是否正确前言真正在公司中的实践:NoSQL + RDBMS 一起使用才是最强的,阿里巴巴的架构演进!技术没有高低之分,就看你如何去使用!(提升内功,思维的提高!)云计算的长征之路:阿里云的这群疯子概括1.你在网上找到了某个公司的面试题,你想了好久,感觉自己会做,但是你找不到在线测试,你好心烦…2.你和朋友交流面试题,你想了好久,感觉自己会做,但是你找不到在线测试,你好心烦…3.你原创 2021-01-29 17:35:18 · 10498 阅读 · 0 评论 -
Linux常用命令
算法优劣三大核心指标-时间复杂- 额外空间复杂度-常数项时间前言1. 评估算法优劣的核心指标1.1时间复杂度(流程决定)1.1.1什么是时间复杂度?时间复杂度怎么估算?1.1.2 时间复杂度-例子1.1.3 常见的时间复杂度1.2 额外空间复杂度(流程决定)1.3 常数项时间(实现细节决定)面试、比赛、刷题中,一个问题的最优解是什么意思?前言提示:本文章是日常学习内容的总结,并非全部原创;仅供大家参考借鉴,并无其他商业用途。Bilibili搜索关注:狂神说真正在公司中的实践:NoSQL + RDBMS原创 2021-01-29 17:17:49 · 10568 阅读 · 1 评论