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