
算法
文章平均质量分 95
慢慢慢时光
座右铭:think more, code more
联系邮箱:wjl31802@126.com
展开
-
数据结构与算法相关题解
根据六脉神剑刷题法,记录自己的刷题过程,方便回溯leetcode重新刷题 文章目录数组[1. 两数之和](https://leetcode-cn.com/problems/two-sum/)[167. 两数之和 II - 输入有序数组](https://leetcode-cn.com/problems/two-sum-ii-input-array-is-sorted/)链表[21. 合并两个有序链表](https://leetcode-cn.com/problems/merge-two-sorted-l.原创 2022-04-20 09:34:01 · 441 阅读 · 0 评论 -
数据结构与算法笔记4
本笔记记录王争专栏数据结构与算法之美的学习记录,以便自己复习回顾,代码部分均已经过验证,可直接使用 文章目录1. 二叉树基础1. 树2. 二叉树 Binary Tree3. 如何存储一个二叉树4. 二叉树的遍历代码实现2. 二叉查找树 Binary Search Tree1. 概念2. 操作1. 查找操作2. 插入操作3. 删除操作4. 其他操作3. 支持重复数据的二叉查找树4. 二叉查找树的...原创 2019-06-26 19:49:52 · 449 阅读 · 0 评论 -
数据结构与算法笔记3
本笔记记录王争专栏数据结构与算法之美的学习记录,以便自己复习回顾,代码部分均已经过验证,可直接使用 文章目录1. 二分查找(Binary Search)二分查找应用场景的局限性二分查找的应用场景2. 4种变形1. 查找第一个值等于给定值的元素2. 查找最后一个值等于给定值的元素3. 查找第一个大于等于给定值的元素4. 查找最后一个小于等于给定值的元素3. 解答问题4. 散列表1. 散列的思想2...原创 2019-06-21 13:41:00 · 630 阅读 · 0 评论 -
数据结构与算法笔记2
本笔记记录王争专栏数据结构与算法之美的学习记录,以便自己复习回顾,代码部分均已经过验证,可直接使用 排序算法 大部分编程语言,都会提供排序函数,平常项目,也会经常使用排序 最经典,最常用的排序:冒泡排序、插入排序、选择排序、归并排序、快速排序、计数排序、基数排序和桶排序 排序算法 时间复杂度 是否基于比较 冒泡、插入、选择 O(n²) 是 快排、归并 O(nlogn) 是 ......原创 2019-06-07 00:25:57 · 850 阅读 · 2 评论 -
数据结构与算法笔记1
day01 入门 1. 概念 为什么大部分书把这两个概念放在一起讲呢? 数据结构与算法是相辅相成的。数据结构是为算法服务的,算法要作用在特定数据结构之上。 比如,因为数组具有随机访问的特点,常用的二分查找算法要用数组来存储数据,但如果我们选择链表这种数据结构,二分查找算法就无法工作,因为链表不支持随机访问。 数据结构是静态的,是组织数据的一种方式,如果不在它的基础上操作、构建算法,孤立存在的数据结...原创 2019-06-07 06:27:03 · 1721 阅读 · 1 评论 -
加密算法入门之对称加密
1. 凯撒密码介绍 凯撒密码作为一种最古老的加密技术,在古罗马时期就很流行。基本思想是:通过把字母移动一定的位数来实现加密和解密。明文中的所有字母都在字母表上向后(或向前)按照一个固定数目进行偏移后替换为密文。 1.1 加密的概念 明文: 原始信息 密钥: 加密和解密算法的参数,直接影响对明文进行变换的结果 密文: 对明文进行变换的结果 加密算法: 以密钥为参数,对明文进行多种置换和转换的规...原创 2019-01-29 18:12:23 · 889 阅读 · 0 评论 -
阶段总结
数据结构与算法 算法 概念 算法是独立存在的一种解决问题的方法和思想。 算法的五大特性 1.输入: 算法具有0个或多个输入 2.输出: 算法至少有1个或多个输出 3.有穷性: 算法在有限的步骤之后会自动结束而不会无限循环,并且每一个步骤可以在可接受的时间内完成 4.确定性:算法中的每一步都有确定的含义,不会出现二义性 5.可行性:算法的每一步都是可行的,也就是说每一步都能够执行有限的次数完成 时间...原创 2018-11-18 21:12:06 · 394 阅读 · 0 评论 -
python数据结构和算法1
以战场作比较,数据结构和算法相当于兵法,我们码农是指挥作战的将军,代码是士兵和武器 没有兵法,有时面对问题可能没有思路,不知如何下手去解决;大部分时间可能解决了问题,但是 对程序运行的效率和开销没有意识,性能低下;有时借助第三方利器,但不会针对性的优化 算法是独立存在的一种解决问题的方法和思想。 算法的五大特性 输入: 算法具有0个或多个输入 输出: 算法至少有1个或多个输出 有穷性...原创 2018-08-22 08:33:01 · 182 阅读 · 0 评论 -
python数据结构和算法 二叉树
树 树(英语:tree)是一种抽象数据类型(ADT)或是实作这种抽象数据类型的数据结构,用来模拟具有树状结构性质的数据集合。它是由n(n>=1)个有限节点组成一个具有层次关系的集合。把它叫做“树”是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。 树的术语 节点的度:一个节点含有的子树的个数称为该节点的度; 树的度:一棵树中,最大的节点的度称为树的度; 叶节点或终端...原创 2018-08-26 18:35:14 · 205 阅读 · 0 评论 -
python数据结构和算法3 栈、队列和排序
顺序表和链表都是线性表,线性数据 栈 stack,也叫堆栈,是一种容器,可存入元素、访问元素、删除元素,特点是只允许在容器的一端(栈顶,top)进行加入数据(压栈,push)和输出数据(pop),按照后进先出(LIFO,last in first out)的原理运作。 栈的实现 class Stack(object): """栈""" def __init__(sel...原创 2018-08-26 18:48:16 · 322 阅读 · 0 评论 -
python数据结构和算法2 顺序表和链表
数据结构 数据对象中数据元素之间的关系。 数据的存储方式不同就会导致需要不同的算法进行处理。我们希望算法解决问题的效率越快越好, 于是我们就需要考虑数据究竟如何保存的问题,这就是数据结构。 程序 = 数据结构 + 算法 抽象数据类型(Abstract Data Type) 把数据类型和数据类型上的运算捆在一起,进行封装。 最常用的数据运算有五种: 插入 删除 修改 查找 排...原创 2018-08-27 00:15:33 · 464 阅读 · 0 评论