上一页 1 2 3 4 5 6 ··· 17 下一页
摘要: """ 总结:如何实现一个通用的高性能的排序函数? 一、如何选择合适的排序算法? 1.排序算法一览表 时间复杂度 是稳定排序? 是原地排序? 冒泡排序 O(n^2) 是 是 插入排序 O(n^2) 是 是 选择排序 O(n^2) 否 是 快速排序 O(nlogn) 否 是 归并排序 O(nlogn) 阅读全文
posted @ 2021-01-19 23:35 Micheal_L 阅读(92) 评论(0) 推荐(0) 编辑
摘要: """ 总结:桶排序、计数排序、基数排序 一、线性排序算法介绍 1.线性排序算法包括桶排序、计数排序、基数排序。 2.线性排序算法的时间复杂度为O(n)。 3.此3种排序算法都不涉及元素之间的比较操作,是非基于比较的排序算法。 4.对排序数据的要求很苛刻,重点掌握此3种排序算法的适用场景。 二、桶排 阅读全文
posted @ 2021-01-19 23:26 Micheal_L 阅读(197) 评论(0) 推荐(0) 编辑
摘要: """ 总结:归并排序和快速排序 一、分治思想 1.分治思想:分治,顾明思意,就是分而治之,将一个大问题分解成小的子问题来解决,小的子问题解决了,大问题也就解决了。 2.分治与递归的区别:分治算法一般都用递归来实现的。分治是一种解决问题的处理思想,递归是一种编程技巧。 二、归并排序 1.算法原理 先 阅读全文
posted @ 2021-01-05 14:58 Micheal_L 阅读(191) 评论(0) 推荐(0) 编辑
摘要: """ 总结: 一、几种经典排序算法及其时间复杂度级别 冒泡、插入、选择 O(n^2) 基于比较 快排、归并 O(nlogn) 基于比较 计数、基数、桶 O(n) 不基于比较 二、如何分析一个排序算法? 1.学习排序算法的思路?明确原理、掌握实现以及分析性能。 2.如何分析排序算法性能?从执行效率、 阅读全文
posted @ 2021-01-04 22:47 Micheal_L 阅读(114) 评论(0) 推荐(0) 编辑
摘要: 总结 一、什么是递归? 1.递归是一种非常高效、简洁的编码技巧,一种应用非常广泛的算法,比如DFS深度优先搜索、前中后序二叉树遍历等都是使用递归。 2.方法或函数调用自身的方式称为递归调用,调用称为递,返回称为归。 3.基本上,所有的递归问题都可以用递推公式来表示,比如 f(n) = f(n-1) 阅读全文
posted @ 2021-01-04 21:58 Micheal_L 阅读(98) 评论(0) 推荐(0) 编辑
摘要: 总结 一、什么是队列? 1.先进者先出,这就是典型的“队列”结构。 2.支持两个操作:入队enqueue(),放一个数据到队尾;出队dequeue(),从队头取一个元素。 3.所以,和栈一样,队列也是一种操作受限的线性表。 二、如何实现队列? 1.队列API public interface Que 阅读全文
posted @ 2021-01-04 17:24 Micheal_L 阅读(78) 评论(0) 推荐(0) 编辑
摘要: 一、什么是栈? 1.后进者先出,先进者后出,这就是典型的“栈”结构。 2.从栈的操作特性来看,是一种“操作受限”的线性表,只允许在端插入和删除数据。 二、为什么需要栈? 1.栈是一种操作受限的数据结构,其操作特性用数组和链表均可实现。 2.但,任何数据结构都是对特定应用场景的抽象,数组和链表虽然使用 阅读全文
posted @ 2021-01-03 08:45 Micheal_L 阅读(153) 评论(0) 推荐(0) 编辑
摘要: 总结:如何优雅的写出链表代码?6大学习技巧 一、理解指针或引用的含义 1.含义:将某个变量(对象)赋值给指针(引用),实际上就是就是将这个变量(对象)的地址赋值给指针(引用)。 2.示例: p—>next = q; 表示p节点的后继指针存储了q节点的内存地址。 p—>next = p—>next—> 阅读全文
posted @ 2021-01-03 08:14 Micheal_L 阅读(118) 评论(0) 推荐(0) 编辑
摘要: 数据结构与算法之美 入门篇(2讲/共4讲) 02 | 如何抓住重点,系统高效地学习数据结构与算法? 真正的原因是你没有找到好的学习方法,没有抓住学习的重点。实际上,数据结构和算法的东西并不多,常用的、基础的知识点更是屈指可数。只要掌握了正确的学习方法,学起来并没有看上去那么难,更不需要什么高智商、厚 阅读全文
posted @ 2020-12-13 12:17 Micheal_L 阅读(196) 评论(0) 推荐(0) 编辑
摘要: 数据结构与算法之美 入门篇(1讲/共4讲) 01|为什么要学习数据结构和算法 要通关大厂面试,数据结构与算法这类基础知识必不可少。 不要忘了,我们学习任何知识都是为了"用"的,是为了解决实际工作问题的。 业务开发工程师,你真的愿意做一辈子CRUD boy吗? 虽然平时更多使用现成的接口,但是不需要自 阅读全文
posted @ 2020-12-13 11:20 Micheal_L 阅读(233) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 ··· 17 下一页