算法
文章平均质量分 67
胖虎是只mao
这个作者很懒,什么都没留下…
展开
-
哈希表和字典的异同
一、哈希表三、总结哈希表和字典都是可以存储数据的一个容器,都是以键值对的方式来存储数据,一个键对应一个值,通过键和值来检索数据时是十分有效迅速的,举个简单的例子就是我们的手机的电话薄里面都是一个人对应一个电话号码,检索的时候只有找到键,也就是找到人名,就可以找到电话号码了。 字典的存储结构也是通过哈希表来实现的,所以两者存入数据的方式是一样的,但是两者在执行效率上还是有差别的。存入数据不限制类型和数量,前提是导入命名空间using system.Collection(1)存值时:哈希表以键值对的形式原创 2021-11-19 01:10:33 · 13299 阅读 · 1 评论 -
python算法-二分法和大O表示法
二分法查找二分法是针对于有序列表使用简单查找法查找元素时,在最糟情况下需要查看每个元素。因此,如果列表包含8个数字,你最多需要检查8个数字。而使用二分查找时,最多需要检查log n个元素。如果列表包含8个元素,你最多需要检查3个元素,因为log2 8 = 3(23= 8)。如果列表包含1024个元素,你最多需要检查10个元素,因为log2 1024 = 10(210 =1024)利用二分...原创 2019-05-27 15:37:02 · 740 阅读 · 0 评论 -
python算法图解——快速排序和选择排序
分而治之一种著名的递归式问题解决方法:分而治之。(divide and conquer,D&C)。D&C的工作原理:(1) 找出简单的基线条件;(2) 确定如何缩小问题的规模,使其符合基线条件基线条件的要求:编写涉及数组的递归函数时,基线条件通常是数组为空或只包含一个元素。陷入困境时,检查基线条件是不是这样的。例题1:编写一个递归函数来计算列表包含的元素数的和def ...原创 2019-06-10 13:47:17 · 1340 阅读 · 0 评论 -
python算法-数组和链表
数组和链表数组是具有相同的数据类型且按一定次序排列的一组变量的集合体,构成一个数组的这些变量称为数组元素数组在内存中的地址是连续相邻的,而链表在内存的地址是散列的,不连续的数组是将元素在内存中连续存放,由于每个元素占用内存相同,可以通过下标迅速访问数组中任何元素。但是如果要在数组中增加一个元素,需要移动大量元素,在内存中空出一个元素的空间,然后将要增加的元素放在其中。同样的道理,如果想删除一...原创 2019-06-04 16:35:21 · 1097 阅读 · 0 评论 -
python 算法——哈希表
一、定义散列表(Hash table,也叫哈希表),是根据关键码值(Key和value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。给定表M,存在函数f(key),对任意给定的关键字值key,代入函数后若能得到包含该关键字的记录在表中的地址,则称表M为哈希(Hash)表,函数f(key)...转载 2019-06-11 09:47:22 · 1790 阅读 · 0 评论 -
python算法图解——知识点
1. 递归和循环如果使用循环,程序的性能可能更高;如果使用递归,程序可能更容易理解,让结局的方案更加清楚,但是没有性能上的优势。递归就是在一个循环中函数自己调用自己,循环就是while for等。...原创 2019-06-20 09:00:33 · 231 阅读 · 0 评论