
数据结构
lulubaby_
吉林大学在读博士生
展开
-
python3 数据结构 查找
二分法查找 def search(list1,key): low,high = 0,len(list1-1) while low <= high: mid = (low+high)//2 if list1[mid]<key: low = mid+1 elif list1[mid]>key: high = mid-1 else: retu原创 2020-10-13 10:21:38 · 212 阅读 · 0 评论 -
python3 数据结构 排序
#冒泡排序 def bubble(list1): for i in range(len(list1)-1): for j in range(len(list1)-i-1): if list1[j]>list1{j+1}: list1[j],list1[j+1] #选择排序 def select(list1): for i in range (len(list1)-1): min = i .原创 2020-10-09 10:05:14 · 220 阅读 · 0 评论 -
python3 数据结构 树 二叉树
基础概念 1.定义:树(Tree)是n(n≥0)个节点的有限集合T,它满足两个条件:有且仅有一个特定的称为根(Root)的节点;其余的节点可以分为m(m≥0)个互不相交的有限集合T1、T2、……、Tm,其中每一个集合又是一棵树,并称为其根的子树(Subtree)。 2.基本概念 一个节点的子树的个数称为该节点的度数,一棵树的度数是指该树中节点的最大度数。 度数为零的节点称为树叶或终端节点,度数不为零的节点称为分支节点,除根节点外的分支节点称为内部节点。 一个节点的子树之根节点称为该节点的子节点原创 2020-10-07 15:11:30 · 850 阅读 · 0 评论 -
python3 数据结构 队列
队列 1.定义:队列是限制在两端进行插入操作和删除操作的线性表,允许进行存入操作的一端称为“队尾”,允许进行删除操作的一端称为“队头”。 2.特点: 队列只能在队头和队尾进行数据操作 栈模型具有先进先出或者叫做后进后出的规律 3.队列的代码实现 队列的操作有入队,出队,判断队列的空满等操作。 #顺序存储 class QueueError(self): """docstring for QueueError""" pass class SQueue: def __init__(self原创 2020-10-07 15:09:41 · 2325 阅读 · 0 评论 -
python3 数据结构 线性表
定义 线性表的定义是描述其逻辑结构,而通常会在线性表上进行的查找、插入、删除等操作。 线性表作为一种基本的数据结构类型,在计算机存储器中的映象(或表示)一般有两种形式,一种是顺序映象,一种是链式映象。 线性表的顺序存储 1.定义:若将线性表L=(a0,a1, ……,an-1)中的各元素依次存储于计算机一片连续的存储空间,这种机制表示为线性表的顺序存储结构。 2.特点: 逻辑上相邻的元素 ai, ai+1,其存储位置也是相邻的; 存储密度高,方便对数据的遍历查找。 对表的插入和删除等运算的效率原创 2020-10-05 22:01:08 · 313 阅读 · 0 评论 -
求二叉树所有路径
题目描述:给一棵二叉树,找出从根节点到叶子节点的所有路径。 样例:递归 + 深搜的思路。还记得之前学过的用递归的方法解决二叉树的前序遍历的问题吗?点击打开链接,用的就是深搜的策略,递归实现。我们在这里,依然用这种逻辑基本解法可以这样描述:从根节点出发找叶子,找到叶子之后,所有这条“找寻之路”上的所有节点构成了我们要打印出来的一条路径。所以,我们需要建立一个全局变量path,存储未到达当前节点时扫描原创 2017-12-02 15:47:40 · 1509 阅读 · 0 评论 -
算法的时间复杂度和空间复杂度-总结
通常,对于一个给定的算法,我们要做 两项分析。第一是从数学上证明算法的正确性,这一步主要用到形式化证明的方法及相关推理模式,如循环不变式、数学归纳法等。而在证明算法是正确的基础上,第二部就是分析算法的时间复杂度。算法的时间复杂度反映了程序执行时间随输入规模增长而增长的量级,在很大程度上能很好反映出算法的优劣与否。因此,作为程序员,掌握基本的算法时间复杂度分析方法是很有必要的。 算法执行时间需通转载 2017-12-06 19:24:52 · 1145 阅读 · 0 评论 -
数据结构 二叉树常用简单应用
#define MAX 100 typedef struct { datatype SqBiTree[Max+1]; int nodemax; }Bitree; typedef struct { DataType data; Struct Node * Lchild; Struct Node * Rchild; }BiTNode,*BiTree; 1.先序遍历 void pre原创 2018-01-12 15:47:31 · 967 阅读 · 0 评论