摘要: 目录 一、概要 1.1 方法论 1.2 实践能力 一、概要 程序设计基本方法:https://www.cnblogs.com/nickchen121/p/11164043.html Python开发环境配置:https://www.cnblogs.com/nickchen121/p/11164149 阅读全文
posted @ 2020-12-12 18:06 ABDM 阅读(147) 评论(0) 推荐(0)
摘要: 转载自海燕博客:https://www.cnblogs.com/haiyan123/p/8387770.html 目录第一篇:算法基础第二篇:算法实例 第一篇:算法基础 001 十大算法001 002 十大算法002 第二篇:算法实例 003 算法基础 004 列表查找以及二分查找 005 树和二叉 阅读全文
posted @ 2020-12-12 00:25 ABDM 阅读(181) 评论(0) 推荐(0)
摘要: 态规划算法是通过拆分问题,定义问题状态和状态之间的关系,使得问题能够以递推的方式去解决。 动态规划的核心点:定义状态与转移方程(最优子结构)重新定义问题: 一、最长上升子序列(LIS):给定一个序列X,求X长度最大的连续递增的子序列。例:X=[1,7,2,8,3,5,2],LIS(X)=[1,2,3 阅读全文
posted @ 2020-12-12 00:24 ABDM 阅读(129) 评论(0) 推荐(0)
摘要: 斐波那契数列 def fib(n): '''裴波那契''' f = [1,1] for i in range(2, n+1): f.append(f[-1]+f[-2]) print(f) return f[n] fib(5) 阅读全文
posted @ 2020-12-12 00:23 ABDM 阅读(87) 评论(0) 推荐(0)
摘要: 找零问题:假设商店老板需要找零n元钱,钱币的面额有:100元、50元、20元、5元、1元,如何找零使得所需钱币的数量最少? # greedy algorithm money = [100,50,20,5,1] def change_money(x): change = [0,0,0,0,0] for 阅读全文
posted @ 2020-12-12 00:21 ABDM 阅读(277) 评论(2) 推荐(0)
摘要: 题目:给一个二维列表,表示迷宫(0表示通道,1表示围墙)。给出算法,求一条走出迷宫的路径。 maze = [ [1,1,1,1,1,1,1,1,1,1], [1,0,0,1,0,0,0,1,0,1], [1,0,0,1,0,0,0,1,0,1], [1,0,0,0,0,1,1,0,0,1], [1, 阅读全文
posted @ 2020-12-12 00:19 ABDM 阅读(138) 评论(0) 推荐(0)
摘要: 一、什么是数据结构? 数据结构是指相互之间存在着一种或多种关系的数据元素的集合和该集合中数据元素之间的关系组成。 简单来说,数据结构就是设计数据以何种方式组织并存储在计算机中。 比如:列表、集合与字典等都是一种数据结构。 “程序=数据结构+算法” 二、数据结构的分类 数据结构按照其逻辑结构可分为线性 阅读全文
posted @ 2020-12-12 00:17 ABDM 阅读(122) 评论(0) 推荐(0)
摘要: 目录 一、冒泡排序 二、选择排序 三、插入排序 四、快速排序 五、堆排序 六、归并排序 七、基数排序 八、希尔排序 九、桶排序 十、总结 一、冒泡排序 1、思路:首先,列表每两个相邻的数比较大小,如果前边的比后边的大,那么这两个数就互换位置。就像是冒泡一样 2、代码关键点: 趟数:n-1趟 无序区 阅读全文
posted @ 2020-12-12 00:16 ABDM 阅读(78) 评论(0) 推荐(0)
摘要: 一、堆的分类 大根堆:一棵完全二叉树,满足任一节点都比其孩子节点大小根堆:一棵完全二叉树,满足任一节点都比其孩子节点小 二、堆的向下调整性质 前提:节点的左右子树都是堆,但是自身不是堆 三、堆排序 内置模块 优先队列:一些元素的集合,POP操作每次执行都会从优先队列中弹出最大(或最小)的元素。堆—— 阅读全文
posted @ 2020-12-12 00:14 ABDM 阅读(144) 评论(0) 推荐(0)
摘要: 一、树 1、什么是树? 树状图是一种数据结构,它是由n(n>=1)个有限节点组成一个具有层次关系的集合。把它叫做“树”是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。它具有以下的特点: 每个节点有零个或多个子节点;没有父节点的节点称为根节点;每一个非根节点有且只有一个父节点;除了根节点 阅读全文
posted @ 2020-12-12 00:12 ABDM 阅读(167) 评论(0) 推荐(0)
摘要: 一、列表查找 1、列表查找:从列表中查找指定元素 输入:列表、待查找元素 输出:元素下标或未查找到元素 2、顺序查找:从列表第一个元素开始,顺序进行搜索,直到找到为止。返回找到的那个索引 3、二分查找:从有序列表的候选区data[0:n]开始,通过对待查找的值与候选区中间值的比较,可以使候选区减少一 阅读全文
posted @ 2020-12-12 00:10 ABDM 阅读(111) 评论(0) 推荐(0)
摘要: 一、什么是算法? 算法(Algorithm):一个计算过程,解决问题的方法 一个算法应该具有以下七个重要的特征: ①有穷性(Finiteness):算法的有穷性是指算法必须能在执行有限个步骤之后终止; ②确切性(Definiteness):算法的每一步骤必须有确切的定义; ③输入项(Input):一 阅读全文
posted @ 2020-12-12 00:09 ABDM 阅读(231) 评论(0) 推荐(0)
摘要: 排序算法可以分为内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。常见的内部排序算法有:插入排序、希尔排序、选择排序、冒泡排序、归并排序、快速排序、堆排序、基数排序等。用一张图概括: 关于时间复杂度: 平方阶 阅读全文
posted @ 2020-12-12 00:04 ABDM 阅读(372) 评论(0) 推荐(0)