数据结构和算法是计算机技术的基本功之一,北京大学的课程深入浅出,使用Python作为载体简化了编程难度。最近浏览了45-51,主要内容是查找算法与各类排序算法。排序算法的学习需要重视算法在时间复杂度和空间复杂度两个方面的表现,例如归并排序的时间复杂度达到了稳定的最优nlogn,但因为需要生成子列表,需要双倍的空间开销。而快速排序不需要额外开销,但其重要参数中值的选取受到不确定性的制约,使得极端不平
转载
2024-08-12 11:59:53
28阅读
为了处理字符串,Python提供了很多的内建函数,如查找子串,统计字符串长度,大小写转换等,这里将介绍常用内建函数的用法。一、find函数find函数用于查找一个字符串的子串。找到满足条件的子串,则返回子串第一个字符在原始字符串中的索引,否则返回-1.find函数还支持设置查找范围,搜索指定范围内的子串,具体如下,其中第8行和第11行,find函数的第二个参数表示查找的起始位置,第三个参数表示查找
转载
2023-08-19 11:38:33
120阅读
一、基本概念查找(Searching)就是根据给定的某个值,在查找表中确定一个其关键字等于给定值的数据元素(或记录)。查找表(Search Table):由同一类型的数据元素(或记录)构成的集合关键字(Key):数据元素中某个数据项的值,又称为键值。主键(Primary Key):可唯一地标识某个数据元素或记录的关键字。查找表按照操作方式可分为:静态查找表(Static Search Table)
转载
2023-07-08 15:40:04
197阅读
目录1. 静态查找表(Static Search Table)2. 动态查找表(Dynamic Search Table)3. 顺序查找4、二分查找5、插值查找6、斐波那契查找7、分块查找8、哈希查找9、树表查找 参考 1. 静态查找表(Static Search Table)只做查找操作的查找表。它的主要操作是:查询某个“特定的”数据元素是否在表中检索某个“特定的”数据元素和各种属性2. 动态
转载
2023-08-22 08:23:27
56阅读
题目要求:本题要求编写程序,从指定的字符串中查找指定的字符输入格式:输入的第一行是指定要求查找的字符,第二行则是以回车结束的非空字符串。输出格式:如果找到,在一行内按照格式“index = 下标”输出该字符在字符串中所对应的最大下标(下标从0开始);否则输出"Not Found"。输入样例1:m
programming输出样例1:index = 7输入样例2:a
1234输出样例2:Not Fou
转载
2023-06-11 13:06:44
200阅读
序: 码完论文初稿,回来乖乖打码。给定一个 m x n 二维字符网格 board 和一个字符串单词 word 。如果 word 存在于网格中,返回 true ;否则,返回 false 。单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。例如,在下面的 3×4 的矩阵中包含单词 “ABCCED”(单词中的字母
转载
2023-06-03 13:24:54
201阅读
前面的章节中,我们利用数据集中元素的相对位置信息来提高查找算法的性能。比方知道列表是有序的,能够使用二分查找。本节我们走得更远一些,创建一个数据结构,使得查找性能提高到 O (
1
)
。称为哈希查找。
要做到这种性能,我们要知道元素的可能位置。假设每一个元素就在他应该在的位置上,那么要查找的时候仅仅须要一次比較得到有没有的答案,但以下将会看到。不是这么回事。哈希表
转载
2024-07-08 22:10:43
6阅读
目录一、索引(list[i])二、切片(list[a : b])三、查询五、增加六、删除七、扩展(list.extend(new_list))八、统计(list.count(element))九、排序十、拷贝十一、去重复十二、判断 list 中是否包含某个元素什么是List?List是Python3中非常常用的一种数据类型,是一种可变的、有序的、可以包含任何类型元素的数据集合。我们经常需要对其进行
转载
2023-08-15 16:13:53
1598阅读
python中有很多对字符串操作的函数,以下对一些函数进行一些总结:1. find 函数:检测字符串是否包含指定字符,如果是返回开始的索引值,否则返回-1;如下l在第2个位置s1 = 'hello world'
print(s1.find('l'))
22. index函数:检测字符串是否包含指定字符,如果是返回开始的索引值,否则提示错误s1 = 'hello world'
print(s1.in
转载
2023-07-10 23:58:51
101阅读
'first' 按值在原始数据中出现的顺序排名C.DataFrameDataFrame是一个表格型的数据结构,它含有一组有序的列,每列可以是不同的值类型(数值、字符串、布尔值等)。DataFrame既有行索引也有列索引,它可以被看做由Series组成的字典(共用同一个索引)。DataFrame可以通过类似字典的方式或者.columnname的方式将列获取为一个Series。行也可以通过位
转载
2024-08-25 22:19:58
33阅读
# Python查找括号中的内容
在Python编程中,我们经常需要从字符串或文本中提取特定的信息。括号是常见的文本标记符号之一,常用于表示一组相关的信息。本文将介绍如何使用Python查找括号中的内容,并给出相应的代码示例。
## 1. 查找括号中的内容
要查找括号中的内容,我们可以借助Python的字符串处理功能。字符串是Python中的一种数据类型,可以使用字符串方法和正则表达式来操作
原创
2023-09-02 16:11:29
181阅读
1. 模块模块的查找顺序自定义模块的导入理解 if __name__ == '__main__':__all__控制导入内容2. 包包的理解包的__init__.py文件 1. 模块模块的查找顺序python中的一个模块可以简单的理解成一个py文件,在导入自定义模块时模块的查找顺序可以通过sys.path输出查看:import sys
print(sys.path)我电脑上的路径:[‘D:\P
转载
2023-11-13 10:14:41
48阅读
搜索搜索是在一个 item 集合中找到一个特定 item 的算法过程。搜索通常返回的答案是 True 或 False,即该 item 是否存在。搜索的几种常见方法:顺序查找、二分法查找、二叉树查找、哈希查找。本篇博客主要介绍二分法查找。二分法查找二分查找又称为折半查找,优点是比较次数少,查找速度快,平均性能好;缺点是要求待查找的表为有序表,且插入删除困难。因此,折半查找方法适用于不经常变动而查找频
转载
2023-05-30 16:22:31
111阅读
查找顺序:
1、在第一次导入某个模块时(比如spam),会先检查该模块是否已经被加载到内存中(当前执行文件的名称空间对应的内存),如果有则直接引用
ps:python解释器在启动时会自动加载一些模块到内存中,可以使用sys.modules查看
2、如果没有,解释器则会查找同名的内建模块
3、如果还没有找到就从sys.path给出的目录列表中依次寻找spam.py文件。修改sys.path,
转载
2023-06-06 10:18:43
138阅读
index() 方法index() 方法用来查找某个元素在列表中出现的位置(也就是索引),如果该元素不存在,则会导致 ValueError 错误,所以在查找之前最好使用 count() 方法判断一下。index() 的语法格式为:
listname.index(obj, start, end)其中,listname 表示列表名称,obj 表示要查找的元素,start 表示起始位置,end 表示结束
转载
2020-06-04 10:57:00
681阅读
index() 方法index() 方法用来查找某个元素在列表中出现的位置(也就是索引),如果该元素不存在,则会导致 ValueError 错误,所以在查找之前最好使用 count() 方法判断一下。index() 的语法格式为:listname.index(obj, start, end)其中,listname 表示列表名称,obj 表示要查找的元素,start 表示起始位置,end 表示结束位
转载
2023-05-25 10:19:52
123阅读
Python中查找list中某个固定元素是常有的事,对于两种不同的查找有两种不同的解决方案,见下。查找元素首次出现的位置list自带的方法index可以找出某元素在list中首次出现的位置。用法为list.index(element, start, end)其中,start为开始搜索的位置,默认为0;end为结束搜索的位置,默认为list长度。示例:l = [1, 2, 3, 1, 5
转载
2023-06-29 21:11:58
329阅读
列表的作用是一次性存储多个数据,程序员可以对这些数据进行的操作有:增、删、改、查。下面讲解的是对列表的查找操作,可以分为两种方法,一种是根据下标来进行查找,另外一种是根据查找函数来操作。一、下标方法回忆一下知识点,之前讲过字符串的时候有说到下标,下标是计算机内存分配的从0开始的编号,目的是根据下标可以找到针对性的数据。列表也可以根据下标来找到数据,后面学习的元组同样也可以。语法:序列名[下标]注意
转载
2023-08-24 15:07:53
79阅读
搜索是在一个项目集合中找到一个特定项目的算法过程。搜索通常的答案是真的或假的,因为该项目是否存在。 搜索的几种常见方法:顺序查找、二分法查找、二叉树查找、哈希查找线性查找线性查找就是从头找到尾,直到符合条件了就返回。比如在一个 list 中找到一个等于 5 的元素并返回下标:number_list = [0, 1, 2, 3, 4, 5, 6, 7]deflinear_search(value,
转载
2024-08-09 17:54:02
177阅读
列表1列表由一系列按特定顺序排列的元素组成。在Python中,列表(list)用方括号[]表示,并用逗号来分隔其中的元素。可变对象,可迭代对象,序列都可以进行的操作包括索引,切片,加,乘,检查成员。 输出结果: 2访问列表元素------索引(有序集合) 输出结果: 当索引超出了范围时,Python会报
转载
2023-09-22 06:49:20
242阅读