![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
数据结构与算法(python版)
文章平均质量分 82
数据结构与算法(python版)
Ma Sizhou
低级的欲望,放纵即可获得;高级的欲望,克制才能达到。
展开
-
记录:OJ(在线测评系统)在线编程常见输入输出(python版本)
来源:牛客网的:OJ在线编程常见输入输出练习场.目录第一题:多行输出a和b,并相加1.1 题目描述:1.2 代码:第二题:输入行数t,接着输入t行数,并相加2.1 题目描述:2.2 代码:第三题:输入多行,0表示结束3.1 题目描述:3.2 代码:第四题:输入多行,每行第一个数表示这行元素的个数,0表示结束4.1 题目描述:4.2 代码:第五题:输入t行,每行第一个数表示这行元素的个数5.1 题目描述:5.2 代码:第六题:输入多行,每行第一个数表示这行元素的个数(没结束条件)6.1 题目描述:6.2.原创 2021-08-21 10:59:46 · 976 阅读 · 0 评论 -
动态规划算法:(3)最长回文子串(python和C++描述 )
动态规划算法的入门教程:动态规划算法:(1)入门介绍及案例分析接下来通过 最长回文子串 来加深对动态规划算法的理解。1、问题描述:2、思路分析:3、代码:python写法:C++写法:4、总结:动态规划算法的核心在于如何设计状态转移方程,而这也是动态规划算法最难的地方。动态规划算法:(1)入门介绍及案例分析...原创 2021-07-10 20:08:55 · 143 阅读 · 1 评论 -
动态规划算法:(2)最长公共子序列(python和C++描述 )
动态规划算法的入门教程:动态规划算法:(1)入门介绍及案例分析接下来通过 最长公共子序列(LCS) 来加深 动态规划算法的做法。1、问题描述:2、思路分析:3、代码:python写法:if __name__ == "__main__": A = input() # 第一个字符串 B = input() # 第二个字符串 dp = [[0 for _ in range(len(B)+1)] for _ in range(len(A)+1)] # 状.原创 2021-06-03 23:29:48 · 364 阅读 · 3 评论 -
动态规划算法:(1)入门介绍及案例分析
本文的内容来源于《算法笔记》这本书,讲解的确实好,所以记录一下,同时,也希望本文可以使读者更好的理解动态规划算法。目录1、动态规划的递归写法和递推写法1.1 什么是动态规划(1)动态规划的递归写法:(2)动态规划的递推写法:1、动态规划的递归写法和递推写法动态规划是一种非常精妙的算法思想,它没有固定的写法、极其灵活,常常需要具体问题具体分析。和大部分算法不同的是,一开始就直接讨论动态规划的概念并不是很好的学习方式,反而先接触一些经 典模型会有更好的效果。因此本文主要介绍一些动态规划的经典模型,.原创 2021-05-31 23:33:30 · 701 阅读 · 3 评论 -
数据结构与算法(Python版)——(7)系统性的介绍图,以及图的python代码实现
上一小节链接.目录1、图graph的概念:1.1 术语表及定义:1.2 抽象数据类型:图2、图的python实现:1、图graph的概念:在这一章我们学习图。图是比我们上一章学习的树更普遍的结构,事实上我们可以认为树是一种特殊的图。图可以被用来表述世界上很多有趣的事情,包括道路系统,城市间航线,因特网的联接,甚至是你完成计算机科学学位所必修的课程顺序。接下来将看到一旦我们很好地表述了某个问题,我们可以使用标准的图算法来解决一些看起来非常困难的问题。对人类来说,看懂路线图并了解不同地点之间的.原创 2021-05-08 09:59:57 · 648 阅读 · 2 评论 -
数据结构与算法(Python版)——(6)树的介绍及实现
上一小节链接。目录一、基本概念1.1 树的特征:1.2 树结构的相关术语和定义:二、树的实现一、基本概念1.1 树的特征:我们学过像栈和队列这样的线性数据结构,对递归也有一定的了解,我们说有线性数据结构,那就有非线性数据结构,因此先让我们来看看最简单和常见的非线性数据结构——树(Tree)。树在计算机科学的各个领域中被广泛应用,包括操作系统,图形学,数据库系统和计算机网络。树结构和自然界的树有许多相似的地方,也有根、枝和叶,它们的不同之处在于计算机中的树结构根在顶部而叶子则在底部。那么树.原创 2021-04-13 11:48:28 · 471 阅读 · 2 评论 -
数据结构与算法(Python版)——(4)系统性的介绍各种 查找(顺序、二分) 和 排序 算法(冒泡、选择、插入、希尔、归并、快速)
上一小节目录一、查找(搜索)1、顺序查找1.1 无序表查找的代码:算法分析1.2 有序表查找的代码算法分析2、二分查找2.1 二分查找非递归的代码2.2 递归算法实现二分查找的代码算法分析二、排序1、冒泡排序和选择排序1.1 冒泡排序bubble sort:(1)思路:(2)代码实现:(3)算法分析(4)性能改进1.2 选择排序(1)思路:(2)代码实现:2、插入排序(1)思路:(2)代码实现:3、谢尔排序Shell Sort(希尔排序)(1)思路:(2)代码实现:(3)算法分析:4、归并排序merge.原创 2021-03-24 22:14:06 · 272 阅读 · 1 评论 -
数据结构与算法(Python版)——(3)递归(下)用实例介绍动态规划算法
目录1、分治策略1、分治策略原创 2021-03-20 10:46:42 · 393 阅读 · 4 评论 -
数据结构与算法(Python版)——(3)通俗易懂的介绍递归(上)
上一小节链接.目录1、什么是递归1.1 概念1.2 递归三定律2、递归的应用2.1 整数转换为任意进制2.1.1 问题分析:2.1.2 实现代码:3、递归调用时系统时如何实现的?3.1 原理3.2 python中递归深度的限制4、递归可视化4.1 python的海龟作图系统`turtle module`1、什么是递归1.1 概念所以说递归就是自身调用自身的过程。为了更好的理解递归,我们用一个例子说明:问题:求 1+3+5+7+…+n-1+n 的和。我们首先想到的就是for循环,但是现在如.原创 2020-11-18 22:21:32 · 402 阅读 · 0 评论 -
数据结构与算法(Python版)——(2)线性结构(栈、队列、双端队列、列表)
上一小节链接.目录1、 线性结构的概念2、栈2.1 栈的概念2.2 python实现栈2.3 栈的应用2.3.1 应用一:简单括号匹配2.3.2 应用二:十进制转换为二进制2.3.3 应用三:表达式转换并求值(1)中缀转前、后缀的思想:(2)算法流程:(3)实现代码:(4)后缀表达式求值:3、队列3.1 队列的概念3.2 python实现队列3.3队列的应用3.3.1 应用一:热土豆(约瑟夫问题)(1)实现思想:(2)实现代码:3.3.2 应用二:打印任务(1)如何建模:(2)模拟流程:(3)实现代码:.原创 2020-11-01 22:00:44 · 1105 阅读 · 0 评论 -
数据结构与算法(Python版)——(1)算法分析
目录1、什么是算法分析1.1 算法和程序的区别1.2 算法分析的概念1.3 计算资源指标2、大O表示法2.1 什么是问题规模2.2 大O表示法概念——数量级函数2.3 影响算法运行时间的其他因素2.4 其他算法复杂度表示法3、python数据类型性能3.1 对比list和dict的操作3.2 list列边数据类型3.2.1 四种生成前n个整数列表的方法3.2.2 list基本操作的大O数量级3.3 dict数据类型1、什么是算法分析1.1 算法和程序的区别1.2 算法分析的概念1.3 计算资.原创 2020-10-23 18:44:07 · 493 阅读 · 0 评论