代老师的博客 https://github.com/daichangya

十大经典排序算法(动图演示)

0、算法概述0.1算法分类十种常见排序算法可以分为两大类:比较类排序:通过比较来决定元素间的相对次序,由于其时间复杂度不能突破O(nlogn),因此也称为非线性时间比较类排序。非比较类排序:不通过比较来决定元素间的相对次序,它可以突破基于比较排序的时间下界,以线性时间运行,因此也称为线性时间非比较类

daicy daicy 发布于 2021-01-22
daicy daicy 发布于 2020-12-09
daicy daicy 发布于 2020-10-31

动态规划

动态规划问题一直是大厂面试时最频繁出现的算法题,主要原因在于此类问题灵活度高,思维难度大,没有很明显的套路做法。也正是因为这个原因,我们将持续更新此回答来尝试破解面试中所涉及的动态规划问题。首先我们主要了解动态规划是什么,动态规划问题应该如何思考?一共分成三个部分,具体内容框架如下所示:一、宝石挑选

daicy daicy 发布于 2020-10-27
daicy daicy 发布于 2020-10-21

红黑树、B(+)树、跳表、AVL等数据结构,应用场景及分析,以及一些英文缩写

红黑树、B(+)树、跳表、AVL等数据结构,应用场景及分析,以及一些英文缩写在网上学习了一些材料。这一篇:https://www.zhihu.com/question/30527705AVL树:最早的平衡二叉树之一。应用相对其他数据结构比较少。windows对进程地址空间的管理用到了AVL树红黑树:

daicy daicy 发布于 2020-10-13

代码面试最常用的10大算法

摘要:面试也是一门学问,在面试之前做好充分的准备则是成功的必须条件,而程序员在代码面试时,常会遇到编写算法的相关问题,比如排序、二叉树遍历等等。 在程序员的职业生涯中,算法亦算是一门基础课程,尤其是在面试的时候,很多公司都会让程序员编写一些算法实例,例如快速排序、二叉树查找等等。 本文总结了程序员在代码面试中最常遇到的10大算法类型,想要真正了解这些算法的原理,还需程序员们花些功夫。

daicy daicy 发布于 2019-04-17

十道海量数据处理面试题与十个方法大总结

摘要:本文将向您讲述诸多数据处理面试题以及方法的总结。 第一部分、十道海量数据处理面试题   1、海量日志数据,提取出某日访问百度次数最多的那个IP。   此题,在我之前的一篇文章算法里头有所提到,当时给出的方案是

daicy daicy 发布于 2019-04-17

优秀博客推荐:各种数据结构与算法知识入门经典

基本算法 贪心算法: 递归和分治: 图论 图的遍历(DFS和BFS): 最小生成树 Dijkstra算法

daicy daicy 发布于 2019-04-17

JAVA上加密算法的实现用例

通常,使用的加密算法 比较简便高效,密钥简短,加解密速度快,破译极其困难。本文介绍了 MD5/SHA1,DSA,DESede/DES,Diffie-Hellman的使用。第1章基础知识 1.1. 单钥密码体制单钥密码体制是一种传统的加密算法,是指信息的发送方和接收方共同使用同一把密钥进行加解密。通常,使用的加密算法比较简便高效,密钥简短,加解密速度快,破译极其困难。但是加密

daicy daicy 发布于 2019-04-17

java程序员必知的 8大排序

下载了文档自己截图存留 8种排序之间的关系: 1, 直接插入排序    (1)基本思想:在要排序的一组数中,假设前面(n-1)[n>=2] 个数已经是排 好顺序的,现在要把第n个数插到前面的有序数中,使得这n个数 也是排好顺序的。如此反复循环,直到全部排好顺序。  (2)实例 (3)用java实现

daicy daicy 发布于 2019-04-17

Java实现对二叉树前序/中序/后序的递归与非递归算法

二叉树的前序、中序、后序遍历的定义: 前序遍历:对任一子树,先访问跟,然后遍历其左子树,最后遍历其右子树; 中序遍历:对任一子树,先遍历其左子树,然后访问根,最后遍历其右子树; 后序遍历:对任一子树,先遍历其左子树,然后遍历其右子树,最后访问根。 首先创建节点类,并在里面添加了一个创建树的方法,调用后就可以返回一个包含7个节点的二叉树。 点击(此处)折叠或打开

daicy daicy 发布于 2019-04-17