python数据结构算法
文章平均质量分 83
python数据结构算法
Grateful_Dead424
这个作者很懒,什么都没留下…
展开
-
Python数据结构与算法(第一天)
一、算法引入如果 a+b+c=1000,且 a^2+b^2=c^2(a,b,c 为自然数),如何求出所有a、b、c可能的组合?(1)import timestart_time=time.time()for a in range(0,1001): for b in range(0,1001): for c in range(0,1001): if a+b+c==1000 and a**2+b**2==c**2:原创 2021-07-09 11:17:16 · 163 阅读 · 0 评论 -
Python数据结构与算法(第二天)
12.基本顺序表与元素外围顺序表int a=1,整型,4个字节(32位) 0000 0000 0000 0000 0000 0000 0000 0001 0x01 0 0 0 0 0 0 0 0 0x02 0 0 0 0 0 0 0 0 0x03 0 0 0 0 0 0 0 0 0x04 0 0 0 0..原创 2021-07-27 00:29:37 · 102 阅读 · 0 评论 -
Python数据结构与算法(第三天)
18.链表的提出根据线性表的实际存储方式,分为两种实现模型:顺序表,将元素顺序地存放在一块连续的存储区里,元素间的顺序关系由它们的存储顺序自然表示。链表,将元素存放在通过链接构造起来的一系列存储块中。为什么需要链表顺序表的构建需要预先知道数据大小来申请连续的存储空间,而在进行扩充时又需要进行数据的搬迁,所以使用起来并不是很灵活。链表结构可以充分利用计算机内存空间,实现灵活的内存动态管理。链表的定义链表(Linked list)是一种常见的基础数据结构,是一种线性表,但是不像顺原创 2021-07-29 12:06:19 · 80 阅读 · 0 评论 -
Python数据结构与算法(第四天)
27.双向链表及添加元素双向链表一种更复杂的链表是“双向链表”或“双面链表”。每个节点有两个链接:一个指向前一个节点,当此节点为第一个节点时,指向空值;而另一个指向下一个节点,当此节点为最后一个节点时,指向空值。操作is_empty() 链表是否为空 length() 链表长度 travel() 遍历链表 add(item) 链表头部添加 append(item) 链表尾部添加 insert(pos, item) 指定位置添加 remove(item) 删除节点 searc原创 2021-07-30 23:13:49 · 79 阅读 · 0 评论 -
Python数据结构与算法(第五天)
34.栈与队列的概念栈栈(stack),有些地方称为堆栈,是一种容器,可存入数据元素、访问元素、删除元素,它的特点在于只能允许在容器的一端(称为栈顶端指标,英语:top)进行加入数据(英语:push)和输出数据(英语:pop)的运算。没有了位置概念,保证任何时候可以访问、删除的元素都是此前最后存入的那个元素,确定了一种默认的访问顺序。由于栈数据结构只允许在一端进行操作,因而按照后进先出(LIFO, Last In First Out)的原理运作。队列队列(queue)是只允许在一端进原创 2021-08-02 17:09:25 · 97 阅读 · 0 评论 -
Python数据结构与算法(第六天)
44.希尔排序希尔排序希尔排序(Shell Sort)是插入排序的一种。也称缩小增量排序,是直接插入排序算法的一种更高效的改进版本。希尔排序是非稳定排序算法。该方法因DL.Shell于1959年提出而得名。 希尔排序是把记录按下标的一定增量分组,对每组使用直接插入排序算法排序;随着增量逐渐减少,每组包含的关键词越来越多,当增量减至1时,整个文件恰被分成一组,算法便终止。希尔排序过程希尔排序的基本思想是:将数组列在一个表中并对列分别进行插入排序,重复这过程,不过每次用更长的列(步长更长了,列数原创 2021-08-04 18:26:44 · 120 阅读 · 0 评论 -
Python数据结构与算法(第七天)
50.归并排序归并排序归并排序是采用分治法的一个非常典型的应用。归并排序的思想就是先递归分解数组,再合并数组。将数组分解最小之后,然后合并两个有序数组,基本思路是比较两个数组的最前面的数,谁小就先取谁,取了后相应的指针就往后移一位。然后再比较,直至一个数组为空,最后把另一个数组的剩余部分复制过来即可。def merge_sort(alist): n = len(alist) if n <=1: return alist mid = n//2原创 2021-08-06 12:54:23 · 116 阅读 · 0 评论 -
Python数据结构与算法(第八天)
树与树算法树的概念树(英语:tree)是一种抽象数据类型(ADT)或是实作这种抽象数据类型的数据结构,用来模拟具有树状结构性质的数据集合。它是由n(n>=1)个有限节点组成一个具有层次关系的集合。把它叫做“树”是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。它具有以下的特点:每个节点有零个或多个子节点; 没有父节点的节点称为根节点; 每一个非根节点有且只有一个父节点; 除了根节点外,每个子节点可以分为多个不相交的子树;树的术语节点的度:一个节点含有的子树的..原创 2021-08-07 15:45:04 · 132 阅读 · 0 评论