pyhton数据结构与算法学习
文章平均质量分 90
学习爱好者fz
热爱学习
展开
-
pyhton数据结构与算法——队列与栈
pyhton数据结构与算法——栈与队列栈栈结构实现栈的操作队列队列的实现队列的操作双端队列双端队列的操作栈栈结构实现 栈可以用顺序表实现,也可以用链表实现。栈的操作Stack() 创建一个新的空栈push(item) 添加一个新的元素item到栈顶pop() 弹出栈顶元素peek()返回栈顶元素is_empty() 判断栈是否为空size() 返回栈的元素个数代码示例:以列表为例实现栈的操作# coding:utf-8class Stack(object): ""转载 2021-01-08 16:42:44 · 76 阅读 · 2 评论 -
pyhton数据结构与算法——树与树算法
pyhton数据结构与算法——树与树算法树与树算法树的概念树的术语树的种类树的存储与表示常见的一些树的应用场景二叉树二叉树的基本概念二叉树的性质(特性)二叉树的节点表示以及树的创建二叉树的遍历广度优先遍历(层次遍历)深度优先遍历先序遍历中序遍历后序遍历树与树算法树的概念 树(英语:tree)是一种抽象数据类型(ADT)或是实作这种抽象数据类型的数据结构,用来模拟具有树状结构性质的数据集合。它是由n(n>=1)个有限节点组成一个具有层次关系的集合。把它叫做“树”是因为它看起来像一棵倒挂的树,也就原创 2021-01-12 15:50:35 · 129 阅读 · 0 评论 -
pyhton数据结构与算法——排序算法与搜索
pyhton数据结构与算法——排序算法冒泡排序冒泡排序的分析时间复杂度冒泡排序的演示选择排序冒泡排序 冒泡排序(英语:Bubble Sort)是一种简单的排序算法。它重复地遍历要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。遍历数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越大的元素会经由交换慢慢“浮”到数列的尾部。冒泡排序算法的运作如下:比较相邻的元素。如果第一个比第二个大(升序),就交换他们两个。对每一对相邻元素作同样的工原创 2021-01-11 20:19:10 · 135 阅读 · 0 评论 -
pyhton数据结构与算法——链表
pyhton数据结构与算法——链表链表单向链表节点实现链表单向链表 单向链表也叫单链表,是链表中最简单的一种形式,它的每个节点包含两个域,一个信息域(元素域)和一个链接域。这个链接指向链表中的下一个节点,而最后一个节点的链接域则指向一个空值。表元素域elem用来存放具体的数据。链接域next用来存放下一个节点的位置(python中的标识)变量p指向链表的头节点(首节点)的位置,从p出发能找到表中的任意节点。节点实现代码示例:class SingleNode(object):原创 2021-01-07 20:01:40 · 127 阅读 · 0 评论 -
pyhton数据结构与算法——顺序表
pyhton数据结构与算法——顺序表顺序表顺序表的基本形式顺序表的结构与实现顺序表的结构顺序表的两种基本实现方式元素存储区替换元素存储区扩充顺序表的操作增加元素删除元素Python中的顺序表list的基本实现技术顺序表 在程序中,经常需要将一组(通常是同为某个类型的)数据元素作为整体管理和使用,需要创建这种元素组,用变量记录它们,传进传出函数等。一组数据中包含的元素个数可能发生变化(可以增加或删除元素)。 对于这种需求,最简单的解决方案便是将这样一组元素看成一个序列,用元素在序列里的位置和顺序,表原创 2021-01-06 20:58:58 · 106 阅读 · 0 评论 -
pyhton数据结构与算法——基础概念
pyhton数据结构与算法——基础概念算法的概念算法的五大特性算法效率衡量执行时间反应算法效率时间复杂度与“大O记法”如何理解“大O记法”最坏时间复杂度时间复杂度的几条基本计算规则常见时间复杂度常见时间复杂度之间的关系list内置操作的时间复杂度dict内置操作的时间复杂度数据结构程序 = 数据结构 + 算法抽象数据类型(Abstract Data Type)算法的概念 算法是计算机处理信息的本质,因为计算机程序本质上是一个算法来告诉计算机确切的步骤来执行一个指定的任务。一般地,当算法在处理信息时,会原创 2021-01-05 21:40:15 · 128 阅读 · 0 评论