随笔分类 - 算法
摘要:二叉树的 Python 实现 数据结构定义 class Node: def __init__(self, item): self.item = item self.left = None self.right = None class Tree: def __init__(self): self.r
阅读全文
摘要:一、冒泡排序 代码示例 # 将乱序列表中最大元素排列到列表末尾位置 def m_sort(alist): for j in range(0, len(alist) - 1): if alist[j] > alist[j + 1]: temp = alist[j] alist[j] = alist[j
阅读全文
摘要:一、查找/搜索 定义:搜索是在元素集合中查找特定元素的算法过程。搜索通常返回元素是否存在(布尔值),有时也返回元素的位置。 Python 中的简单搜索:使用 in 运算符可以快速判断元素是否在列表中。 >>> 15 in [3, 5, 2, 4, 1] False >>> 3 in [3, 5, 2
阅读全文
摘要:一、内存 1. 计算机的作用 存储和运算:计算机存储和处理的数据都是基于二进制的。例如,电影文件以二进制形式存储,播放时通过软件和硬件进行解码和运算,最终呈现为画面和声音。 2. 如何计算 1 + 2 的结果? 过程:将 1 和 2 输入计算机,转换为二进制数据存储,通过加法器计算并返回结果。 3.
阅读全文
摘要:以下是关于 Deque(双端队列)的应用案例——回文检查 的详细说明和代码实现 回文检测:使用 Deque 检查字符串是否为回文 1. 回文的定义 回文:一个字符串,从左到右读取和从右到左读取的结果相同。例如: "radar"(雷达) "toot"(嘟嘟) "madam"(夫人) 2. 分析 目标:
阅读全文
摘要:以下是关于 双端队列(Deque) 的详细说明和 Python 实现,使用 Markdown 格式进行排版: 一、双端队列(Deque) 1. 概念 定义:双端队列(Deque,Double-Ended Queue)是一种有序集合,类似于队列,但具有两个端部:首部(Front) 和 尾部(Rear)
阅读全文
摘要:以下是关于 队列的应用案例——烫手山芋游戏 的详细说明和代码实现,使用 Markdown 格式进行排版: 烫手山芋游戏(约瑟夫问题) 1. 游戏介绍 规则:6个孩子围成一个圈,第一个孩子手里有一个烫手的山芋。每经过7秒,手里有山芋的孩子退出游戏,直到只剩下一个孩子获胜。 背景:这个游戏相当于著名的
阅读全文
摘要:以下是关于 队列的基本概念、Python 实现以及应用案例 的详细说明,使用 Markdown 格式进行排版: 一、队列(Queue) 1. 概念 定义:队列是一种有序集合,具有两个主要端部: 队尾(Rear):新元素从这一端添加。 队首(Front):元素从这一端移除。 特性:队列遵循 FIFO(
阅读全文
摘要:以下是关于 栈(Stack) 的详细说明、Python 实现以及应用案例,使用 Markdown 格式进行排版: 一、线性数据结构 1. 定义 线性数据结构:是一类数据容器,数据元素之间的顺序由添加或删除的顺序决定。一旦元素被添加,它相对于其他元素的位置保持不变。 特点: 具有两端(如顶部和底部、前
阅读全文
摘要:以下是关于 Python 数据结构的性能分析 的详细说明,包括列表和字典的性能特点,以及使用 timeit 模块进行性能测试的示例。内容使用 Markdown 格式进行排版: 一、引言 1. 大 O 表示法 大 O 表示法:用于描述算法的性能,特别是随着输入规模增长时的时间复杂度。 目标:分析 Py
阅读全文
摘要:1.数据结构&算法的引言+时间复杂度 一.什么是计算机科学? 首先明确的一点就是计算机科学不仅仅是对计算机的研究,虽然计算机在科学发展的过程中发挥了重大的作用,但是它只是一个工具,一个没有灵魂的工具而已。所谓的计算机科学实际上是对问题、解决问题以及解决问题的过程中产生产生的解决方案的研究。例如给定一
阅读全文

浙公网安备 33010602011771号