![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法与数据结构
J_Xiong0117
一枚终生学习的算法工程师
展开
-
Leetcode——两数相加
文章目录一.题目描述二.解题思路三.Python代码四.运行结果一.题目描述给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -> 0 -> 8原因:342 + 465 =原创 2020-09-18 17:52:03 · 147 阅读 · 0 评论 -
图解算法—广度优先搜索
文章目录第一类问题第二类问题Python实现广度优先搜索时间复杂度小结广度优先搜索是一种用于图的查找算法,可帮助回答以下两类问题:1)第一类问题:从节点A出发,有前往节点B的路径吗?2)第二类问题:从节点A出发,前往节点B的哪条路径最短?第一类问题假设你经营着一个芒果农场,需要寻找芒果销售商,以便将芒果卖给他。为此,你可以在朋友及朋友的朋友中查找。这样一来,你的目标是在你的人际关系网...原创 2020-04-29 00:39:41 · 2682 阅读 · 0 评论 -
图解算法—图
文章目录图图是什么Python实现图图图是什么图是由节点和边组成的,,用于模拟不同的东西是如何相连的。一个节点可能与众多节点直接相连,这些节点被称为邻居。比如下面的“欠钱图”中:Rama是Alex的邻居,Adit不是Alex的邻居,因为他们不直接相连,但Adit既是Rama的邻居,又是Tom的邻居。Python实现图graph = {}graph["you"] = ["alice"...原创 2020-04-28 23:47:15 · 228 阅读 · 0 评论 -
图解算法—快速排序
文章目录快速排序图解示例快速排序的时间复杂度python代码快速排序快速排序是一种常用的排序算法,比选择排序快得多。快速排序用到的也是分治思想。下面将通过图解示例来帮助直观理解快速排序的工作原理。基线条件:数组为空或只包含一个元素。在这种情况下,只需原样返回数组——根本就不用排序。图解示例对于包含两个元素的数组进行排序如下图如果数组包含3个元素时,就可以使用分治法将数组分解,直到满...原创 2020-04-27 00:18:13 · 699 阅读 · 0 评论 -
图解算法—分而治之
文章目录分而治之图解示例1图解示例2分而治之在计算机科学中,分治法是建基于多项分支递归的一种很重要的算法范式。字面上的解释是“分而治之”,就是把一个复杂的问题分成两个或更多的相同或相似的子问题,直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并。下面将通过两个示例来理解分治法:图解示例1假设你是一位农场主,有一小块(1680m * 640m)土地,你要将这块地均匀地分成方块,...原创 2020-04-26 23:22:16 · 925 阅读 · 0 评论 -
图解算法—二分查找
文章目录二分查找图解二分查找二分查找的Python实现二分查找二分查找是一种高效的查找算法,其输入是一个有序的元素列表,如果要查找的元素包含在列表中,二分查找返回其位置;否则返回null。图解二分查找现在假设我随便想一个1~100的数字。你的目标是以最少的次数猜到这个数字。你每次猜测后,我会说小了、大了或对了。假设你从1开始依次往上猜,猜测过程会是这样:这是简单查找,更准确的说法是傻...原创 2020-04-19 19:12:51 · 299 阅读 · 0 评论 -
图解算法—大O表示法
文章目录时间复杂度(大O表示法)图解大O表示法算法1算法2一些常见的大O运行时间下面按从快到慢的顺序列出了使用这些算法绘制网格所需的时间总结时间复杂度(大O表示法)我们在运行算法时,仅仅知道算法需要多长时间能运行完还不够,还需要知道运行时间如何随列表增长而增加,这就是大O表示法的用武之地。大O表示法指出了算法有多快。例如,假设列表包含n个元素,简单查找需要检查每个元素,因此需要执行n次操作。...原创 2020-04-19 18:23:01 · 827 阅读 · 0 评论 -
Leetcode-简单错误记录
#!/usr/bin/env python3# encoding: utf-8'''@file: error_record.py@time: 2020/4/18 0018 12:12@author: Jack@contact: jack18588951684@163.com'''"""问题描述:开发一个简单错误记录功能小模块,能够记录出错的代码所在的文件名称和行号。处理:1....原创 2020-04-18 12:48:44 · 165 阅读 · 0 评论 -
Leetcode-最高分是多少
#!/usr/bin/env python3# encoding: utf-8'''@file: highest_score.py@time: 2020/4/18 0018 9:59@author: Jack@contact: jack18588951684@163.com'''"""问题描述:老师想知道从某某同学当中,分数最高的是多少,现在请你编程模拟老师的询问。当然,老师...原创 2020-04-18 10:31:33 · 283 阅读 · 0 评论 -
Leetcode-字符串
# coding=utf-8"""@File: task_05.py-----------------------------------------@Author: Jack@Time: 2020/1/14/014 21:23@Email:jack18588951684@163.com-----------------------------------------"""fro...原创 2020-01-14 22:42:07 · 107 阅读 · 0 评论 -
Leetcode-队列
Task04:队列(2天)开始时间:2020-01-11 06:30截止时间:2020-01-13 06:30理论部分用数组实现一个顺序队列。用数组实现一个循环队列。用链表实现一个链式队列。练习部分模拟银行服务完成程序代码。目前,在以银行营业大厅为代表的窗口行业中大量使用排队(叫号)系统,该系统完全模拟了人群排队全过程,通过取票进队、排队等待、叫号服务等功能,代替了人们站队的...原创 2020-01-12 21:14:51 · 393 阅读 · 0 评论 -
Leetcode-栈与递归
Task03:栈与递归(2天)1. 根据要求完成车辆重排的程序代码假设一列货运列车共有n节车厢,每节车厢将停放在不同的车站。假定n个车站的编号分别为1至n,货运列车按照第n站至第1站的次序经过这些车站。车厢的编号与它们的目的地相同。为了便于从列车上卸掉相应的车厢,必须重新排列车厢,使各车厢从前至后按编号1至n的次序排列。当所有的车厢都按照这种次序排列时,在每个车站只需卸掉最后一节车厢即可...原创 2020-01-10 22:55:26 · 308 阅读 · 0 评论 -
Leetcode-顺序表和链表
# coding=utf-8"""@File: task_02.py-----------------------------------------@Author: Jack@Time: 2020/1/8/008 23:03@Email:jack18588951684@163.com-----------------------------------------"""cl...原创 2020-01-08 23:40:59 · 183 阅读 · 0 评论 -
Leetcode-动态数组
# coding=utf-8"""@File: task_01.py-----------------------------------------@Author: Jack@Time: 2020/1/6/006 19:42@Email:jack18588951684@163.com-----------------------------------------""""""...原创 2020-01-06 22:35:54 · 391 阅读 · 0 评论 -
算法与数据结构-队列
队列的概念队列的抽象数据类型队列的顺序表示和实现队列的顺序存储表示循环队列队列的链式表示和实现队列的链式存储表示队列的概念 队列(Queue):也是运算受限的线性表。是一种先进先出FIFO(Last In First Out)的线性表。只允许在表的一端进行插入,而在另一端进行删除。 队首(front):允许进行删除的一端称为队首。 ...原创 2018-08-07 15:07:34 · 181 阅读 · 0 评论 -
算法与数据结构-栈
栈栈的概念栈的抽象数据类型栈的顺序存储表示栈的链式存储表示队列栈栈的概念 栈(Stack):是限制在表的一端进行插入和删除操作的线性表。又称为后进先出LIFO(Last In First Out)或先进后出FILO(First In Last Out)线性表。 栈顶(Top):允许进行插入、删除操作的一端,又称为表尾。用栈顶指针(top)来指...原创 2018-08-06 16:58:02 · 364 阅读 · 0 评论 -
算法与数据结构-线性表
目录目录线性表的定义线性表的抽象数据类型线性表的顺序存储线性表的链式存储双向链表线性表的定义 由n(n≥0)个数据元素(节点)a1,a2,...ana1,a2,...ana_1,a_2,...a_n组成的有限序列。该序列中的所有节点具有相同的数据类型。其中数据元素的个数n称为线性表的长度。 当n=0时,称为空表。 当n>0时,将非空的线性...原创 2018-08-06 14:22:56 · 170 阅读 · 0 评论