随笔分类 -  算法

基础算法实现
摘要:前言 递归是一种应用非常广泛的算法、编程技巧,如: DFS 深度优先搜索; 前中后序二叉树遍历等等。 所有的递归都可以转为非递归实现。 李柱明博客:https://www.cnblogs.com/lizhuming/p/15487438.html 概念定义 递归的定义: 把一个直接调用自己或者通过一 阅读全文
posted @ 2022-02-20 14:53 李柱明 阅读(235) 评论(0) 推荐(0) 编辑
摘要:前言 参考: 哈夫曼树(赫夫曼树、最优树)详解 哈夫曼编码 李柱明博客:https://www.cnblogs.com/lizhuming/p/15487422.html 概念 路径:在一棵树中,一个结点到另一个结点之间的通路,称为路径。 路径长度: 路径上的分支数目称为路径长度。 树的路径长度:从 阅读全文
posted @ 2021-11-15 09:05 李柱明 阅读(219) 评论(0) 推荐(0) 编辑
摘要:前言 在《大话数据结构》P190 页中有一句话:其实线索二叉树,就等于是把一棵二叉树转变成了一个双向链表。 对于这句话实在想不懂,线索二叉树只是把二叉树以某种次序遍历把空域填上前驱或后继而已,若度为 2 的结点没有多余的指针域用于线索了,那双向链表就断了啊。 李柱明博客:https://www.cn 阅读全文
posted @ 2021-11-12 11:58 李柱明 阅读(598) 评论(0) 推荐(1) 编辑
摘要:前言 主要描述二叉树。 李柱明博客:https://www.cnblogs.com/lizhuming/p/15487394.html 树的定义 树: 树是 n(n>=0) 个结点的有限集。 n = 0 时为空树。 n > 0 时,即是非空树时,有且仅有一个根结点。 m > 0 时,子树的个数没有限 阅读全文
posted @ 2021-11-11 09:03 李柱明 阅读(517) 评论(2) 推荐(0) 编辑
摘要:目录前言串的定义串的比较串的抽象类型数据串与线性表的比较串的数据串的存储结构串的顺序存储结构串的链式存储结构朴素的模式匹配算法模式匹配的定义朴素的匹配方法(BRUTE FORCE 算法,BF 算法)时间复杂度分析KMP 模式匹配算法KMP 与 BF 算法KMP 算法原理模式串向右移动距离的计算基于 阅读全文
posted @ 2021-11-10 13:14 李柱明 阅读(387) 评论(1) 推荐(0) 编辑
摘要:前言 李柱明博客:https://www.cnblogs.com/lizhuming/p/15487349.html 队列的定义 队列(queue)-- 只允许在一端进行插入操作,而在另一端进行删除操作的线性表: FIFO:先进先出的线性表。 允许插入的一端称为队尾,允许删除的一端称为队头。 注意: 阅读全文
posted @ 2021-11-09 18:17 李柱明 阅读(364) 评论(0) 推荐(1) 编辑
摘要:前言 李柱明博客:https://www.cnblogs.com/lizhuming/p/15487342.html 栈的定义 定义 栈(stack)是限定仅在表尾进行插入和删除操作的线性表。 栈首先是一个线性表,栈元素具有线性关系。为特殊的线性表。 栈顶(top):允许插入和删除的一端称为栈顶。 阅读全文
posted @ 2021-11-05 14:48 李柱明 阅读(427) 评论(0) 推荐(0) 编辑
摘要:前言 指针或引用的含义 指针丢失和内存泄漏 哨兵简化实现难度 边界条件处理 多看代码多练 李柱明博客:https://i.cnblogs.com/posts/edit-done;postId=15487326 指针或引用的含义 指针和引用都是一个意思,都是存储所指对象的内存地址。 理解指针非常重要, 阅读全文
posted @ 2021-11-05 09:53 李柱明 阅读(116) 评论(0) 推荐(0) 编辑
摘要:前言 个人认为链表是常用的基础数据结构之一。 李柱明博客:https://www.cnblogs.com/lizhuming/p/15487315.html 缓存 缓存是一种提高数据读取性能的技术,在硬件设计、软件开发中都有着非常广泛的应用,比如常见的 CPU 缓存、数据库缓存、浏览器缓存等等。 当 阅读全文
posted @ 2021-11-05 09:52 李柱明 阅读(147) 评论(0) 推荐(0) 编辑
摘要:前言 本笔记主要记录数组的一些基础特性及操作。 顺便解答下为什么大部分编程语言的的数组是从 0 开始的。 李柱明博客:https://www.cnblogs.com/lizhuming/p/15487306.html 线性结构与非线性结构 线性结构: 线性表就是数据排成像一条线一样的结构。每个线性表 阅读全文
posted @ 2021-11-05 08:56 李柱明 阅读(169) 评论(0) 推荐(0) 编辑
摘要:前言 李柱明博客:https://www.cnblogs.com/lizhuming/p/15487297.html 线性表的定义 线性表: 线性表(list)- 零个或多个数据元素的有限序列。 序列:第一个元素无前驱,最后一个元素无后继,其他每个元素都有且只有一个前驱和后继。 有限:元素的个数是有 阅读全文
posted @ 2021-11-04 20:05 李柱明 阅读(348) 评论(0) 推荐(1) 编辑
摘要:前言 主要记录四个复杂度分析知识点: 最好情况时间复杂度 (best case time complexity) 最坏情况时间复杂度 (worst case time complexity) 平均情况时间复杂度 (average case time complexity) 均摊时间复杂度 (amor 阅读全文
posted @ 2021-11-04 20:03 李柱明 阅读(471) 评论(0) 推荐(0) 编辑
摘要:前言 本笔记主要记录如何分析、统计算法的执行效率和资源消耗。 必须学会分析复杂度分析。 李柱明博客:https://www.cnblogs.com/lizhuming/p/15487271.html 复杂度 复杂度分为: 时间复杂度。关联到执行效率。 时间复杂度的全称是 渐进时间复杂度,表示算法的执 阅读全文
posted @ 2021-11-04 18:19 李柱明 阅读(345) 评论(0) 推荐(0) 编辑
摘要:前言 李柱明博客:https://www.cnblogs.com/lizhuming/p/15487254.html 概念 什么是数据结构?什么是算法? 从广义上讲,数据结构就是指一组数据的存储结构。算法就是操作数据的一组方法。 从狭义上讲,是指某些著名的数据结构和算法,比如队列、栈、堆、二分查找、 阅读全文
posted @ 2021-11-04 18:18 李柱明 阅读(323) 评论(0) 推荐(0) 编辑
摘要:前言 本文记录通过回调函数通知到多线程的框架。 本文链接:李柱明博客-框架:https://www.cnblogs.com/lizhuming/p/15205560.html 主要用于解耦。 实现原理 就是把多个回调函数插入到一个链表中,在对应的地方执行这个链表中的所有回调函数。 用途 通知业务只是 阅读全文
posted @ 2021-08-30 13:46 李柱明 阅读(928) 评论(9) 推荐(1) 编辑

点击右上角即可分享
微信分享提示