- 博客(14)
- 收藏
- 关注
原创 【30天从零学Python】重要补充四、检测有向环 - Kahn算法
本文介绍了Kahn算法在检测函数调用有向环中的应用。该算法通过拓扑排序原理,统计节点入度并利用队列处理,能高效识别循环依赖问题。文章详细解析了算法核心流程(统计入度、队列处理、环检测判断),提供了Python实现代码及测试案例,并指出常见实现坑点(节点遗漏、入度初始化等)。Kahn算法是大厂机考中检测任务依赖、函数调用环的高频考点,掌握其原理和实现有助于解决相关问题。
2025-12-14 17:23:14
538
原创 【30天从零学Python】重要补充三、双向链表
本文介绍了Python中双向链表的实现方法。主要内容包括:1) 定义双向链表节点类Node,包含前驱、后继指针和数据域;2) 实现双向链表类LinkList,提供获取长度、查找节点、删除节点、添加节点等核心方法;3) 强调操作双向链表时的关键注意事项,特别是头尾节点的特殊处理和前后指针的双向更新;4) 通过示例代码演示了双向链表的创建、遍历和节点删除操作。文章重点指出了双向链表实现过程中容易遗漏的细节问题,如头尾节点更新和前后指针同步维护等常见"坑点"。
2025-12-12 23:30:47
267
原创 【30天从零学Python】重要补充二:自定义排序
本文介绍了Python中利用sort()方法实现自定义排序的技巧。通过key参数结合lambda函数,可以灵活控制排序规则:1) 一维数组可按照字符串长度、绝对值等属性排序;2) 二维数组支持按指定列或多列组合排序;3) 复杂场景可使用自定义函数替代lambda。核心原理是sort()会将每个元素传入key函数,根据返回值作为排序依据。这种机制使得Python能够高效实现各种复杂排序需求,特别适合算法题和大厂机考场景。
2025-12-11 19:25:57
799
原创 【30天从零学Python】第十集 图的存储
本文介绍了图论基础中的图存储方法。主要内容包括图的分类(稀疏图/稠密图、有向图/无向图、有权图/无权图)和两种存储方式:邻接矩阵(适合稠密图)和邻接表(适合稀疏图)。文章详细讲解了如何在Python中实现这两种存储结构,并提供了判断两个图是否相同的算法,包括邻接矩阵的逐元素比较和邻接表的集合比较方法。最后通过一道综合练习题展示了邻接矩阵和邻接表之间的转换方法,并给出了完整的Python实现代码。这些基础知识为后续学习图论算法如广度优先搜索和深度优先搜索奠定了基础。
2025-12-05 14:51:31
625
原创 【30天从零学Python】第七集 栈和队列
本集学习了栈和队列的概念以及其在Python中的实现方法。看似很高大上的概念但是真正实现起来还是很easy的,Python确实比C简便好多啊。
2025-12-05 13:44:54
629
原创 【30天从零学Python】第九集 刷题笔记(一)循环、字符串、栈、哈希
Python学习笔记:循环与字符串操作 本文记录了Python学习过程中的一些编程练习,主要包含两部分内容: 循环操作: 最大值查询问题:包括一维数组和二维矩阵中查找最大值及其下标的方法 详细介绍了Python内置max()函数的多种用法,包括处理可迭代对象、多参数比较以及结合enumerate获取最大值下标 字符串操作: 字符串组成问题:判断字符串B是否完全由子串A重复构成 字符串插入问题:在指定位置插入字符并判断对称性 这些练习涵盖了Python基础编程中的常见操作,适合初学者巩固循环控制和字符串处理的
2025-12-04 18:40:41
545
原创 【30天从零学Python】第八集 Python面向对象:类、封装、继承和多态
本文介绍了Python面向对象编程的核心概念,包括类与对象、封装、继承和多态。主要内容包括:1)类和对象的基本定义与使用;2)封装实现方式,通过私有属性和get/set方法控制访问;3)继承机制,通过父类和子类实现代码复用;4)多态特性,允许不同子类对相同方法做出不同响应。文章最后提供了一个图形面积计算的综合训练示例,演示了如何应用这些面向对象特性解决实际问题,并补充了Python数学计算的相关知识点。
2025-12-01 21:09:13
714
原创 【30天从零学Python】重要补充一:格式化字符串
本文总结了Python中使用.format()方法格式化字符串的主要方式,包括基本格式、增强可读性的索引/名称占位符,以及对齐填充、数字位数控制和百分比格式等高级用法。重点介绍了如何结合索引或名称与格式说明符来精确控制输出格式,适用于需要格式化字符串输出的各种场景。
2025-12-01 19:05:33
279
原创 【30天从零学Python】第六集 哈希表
本文介绍了Python中哈希表的基础知识和三种实现方式:数组、集合(set)和字典(map)。首先通过统计字母频率的示例讲解了数组哈希表的实现,包括常见错误分析和正确解法。然后详细讲解了集合(set)的概念、创建方法和基本操作,如判断元素是否存在、数学运算等。最后介绍了字典(map)的使用场景,通过钥匙匹配房门的示例展示了映射哈希表的应用。全文通过多个编程题目示例,帮助读者理解哈希表在Python中的实际应用,适合初学者系统学习哈希表相关知识。
2025-11-30 17:27:39
571
原创 【30天从零学Python】第五集 链表
本文介绍了Python中链表的基本概念与实现方法。主要内容包括: 链表定义:通过节点(Node)类实现,每个节点包含数据域(data)和指针域(next_node),解决了数组固定大小、连续内存等问题。 链表操作: 创建链表类(LinkList),包含头节点(head_node)和长度(length)属性 实现插入节点(insert)方法,处理空链表和非空链表两种情况 遍历打印链表元素(print_list)方法 面向对象编程:使用类封装链表操作,通过__init__初始化方法创建节点和链表实例。 输入处理
2025-11-30 03:48:59
978
原创 【30天从零学Python】第四集 一些简单的题目
本文通过三个Python编程题目,展示了从零学习Python的实践应用。第一个"奇怪的信"题目演示了如何拆分整数各位数字并求偶数和,重点介绍了取余和整除运算。第二个"打印正方形"题目展示了嵌套循环的使用方法。第三个"平均绩点"题目详细讲解了字符串处理技巧,包括字符串索引、遍历、切片操作以及常用方法(split、join、replace等),同时介绍了三种字符串格式化方式(%操作符、format方法、f-string)。每个题目都提供了完整的解题思路
2025-11-22 21:41:42
718
原创 【30天从零学Python】第三集 摆平积木
Python解决积木堆高度平衡问题 本文介绍了如何用Python解决积木堆高度平衡的最小移动问题。题目要求将多个高度不同的积木堆调整为相同高度,且移动次数最少。解题关键在于计算每个堆与平均高度的差值总和。文章提供了详细的问题分析、数学模型建立思路和Python实现代码,特别指出了需要注意的输出格式要求和整除运算符//的使用。通过这个实例,展示了如何从实际问题抽象出数学模型并用编程解决的完整过程。
2025-11-21 12:29:19
313
原创 【30天从零学Python】第二集 数组的倒序与隔位输出
本文介绍了Python中列表的基本操作与应用,重点讲解了列表的创建、访问、修改、排序和切片等功能。作者作为通信工程专业背景的学习者,分享了从MATLAB转向Python的学习经验,并通过数组倒序与隔位输出的编程练习,详细解析了常见错误及解决方法。文章包含列表操作的代码示例,如reverse()、sort()、切片等方法的实际应用,特别强调了Python列表作为可变对象在函数传递时的注意事项,以及如何正确实现题目要求的输出格式。通过这个练习,读者可以掌握Python列表的核心操作技巧。
2025-11-21 10:40:31
759
原创 【30天从零学Python】第一集 A+B系列问题
本文介绍了从零学习Python编程的入门教程,通过A+B系列问题逐步掌握Python基础。主要内容包括:1) A+B问题I的输入处理、数据转换和循环读取方法;2) A+B问题II引入for循环、range函数和sys模块的输入处理;3) A+B问题III加入if条件判断和逻辑运算;4) 综合练习整合多个知识点。教程特别强调ACM模式下的输入输出处理技巧,针对常见错误提供解决方案,帮助MATLAB使用者快速适应Python编程,为通过大厂机考奠定基础。
2025-11-19 17:33:28
968
通过Python读写二进制文件实现视频文件加密解密
2022-12-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅