数据结构与算法
文章平均质量分 76
桑之未落0208
努力学习数据挖掘的大学生
展开
-
Chapter 7 树
树树的定义是一个抽象数据类型(ADT)或是作这种抽象数据类型的数据结构,用来模拟具有树状结构性质的数据集合。它由n个有限节点组成一个具有层次关系的集合。树的特点每个节点有零个或者多个子节点。没有父节点的节点称为根节点。每一个非根节点有且只有一个父节点(重要)。除了根节点外,每个子节点可以分为多个不相交的子树。树的术语节点的度——一个节点含有的子树的个数。树的度——一棵树中,最大的节点的度。叶节点或终端节点——度为0的节点。即没有子节点的节点。父亲节点或父节点——若一个节点含有原创 2022-05-31 17:20:09 · 768 阅读 · 0 评论 -
Chapter 6 希尔排序、快速排序、归并排序、二分查找
希尔排序希尔排序是插入排序的一种,也称缩小增量排序。希尔排序时间复杂度最优时间复杂度:根据步长序列的步长的不同而不同最坏时间复杂度:O(n²)稳定性:不稳定希尔排序算法的实现#coding = utf-8def shell_sort(alist): '''希尔排序''' #n=9 n=len(alist) #gap=4 gap = n//2 #gap变化到0之前,插入算法执行的次数 while gap>=1: #原创 2022-05-24 12:21:29 · 228 阅读 · 0 评论 -
Chapter 5 冒泡排序、选择排序与插入排序
排序算法的稳定性排序算法——一种能将一串数据依照特定顺序进行排列的一种算法。稳定性——稳定排序算法会让原本有相等键值的记录维持相对次序。冒泡排序冒泡排序的时间复杂度最坏时间复杂度:O(n²)#coding=utf-8def bubble_sort(alist): '''冒泡排序''' n=len(alist) for j in range(0,n-1): #O(n) #走需要进行的次数 for i in range(0,n-1原创 2022-05-20 22:14:23 · 166 阅读 · 0 评论 -
Chapter 4 双向链表、栈、队列
双向链表(双面链表)对于头结点来说,prev=None对于尾结点来说,next=None关于双链表的操作双链表的判空、长度、遍历操作与单链表相同,见:Chapter 3 单向链表双链表的头部添加、尾部添加、指定位置添加操作#coding=utf-8class Node(object): '''节点''' def __init__(self,elem): self.elem=elem self.next=None #后继原创 2022-05-18 22:00:18 · 288 阅读 · 0 评论 -
Chapter 3 单向链表
链表的提出为什么需要链表链表结构可以充分利用计算机内存空间,实现灵活的内存动态管理。链表的定义链表——一种常见的基础数据结构,与顺序表统称为线性表,但是不像顺序表一样连续存储数据,而是在每个节点(数据存储单元)里存放下一个节点的位置信息(即地址)。分为数据区和连接区:数据区存放数据,链接区存放下一个数据的地址。如图所示。单链表的ADT模型Python中变量标识的本质变量a是一个存储空间,当a=10时,10也放在另一个存储空间里面,a会指向10的地址。即:等号存在就是引用一个链接。然后a原创 2022-05-16 22:10:48 · 242 阅读 · 0 评论 -
Chapter 2 顺序表
数字为8个字节,对应4个字节(存储单元)地址也占4个字节顺序表的基本形式两种基本形式:顺序表:存在一组相同的数据类型的数据,最好使用顺序表来存储它们,如图a。元素外置的顺序表若存在的数据各不相同,则会将其地址重新存放到一个循序表中,如图b。图解如下:左侧是顺序表结构,右侧是元素外置的顺序表结构。顺序表的结构与实现顺序表的结构完整信息:表中元素的集合、表头信息(元素存储区的容量、当前表中已有的元素个数)元素存储区的容量——在存储之前设置的容量。顺序表的两种基本实现方式一体式结原创 2022-05-15 21:07:55 · 247 阅读 · 0 评论 -
Chapter1 数据结构和算法
比喻:码农——指挥作战的将军,代码——士兵和武器,数据结构和算法——兵法。算法引入概念问:如果a+b+c=1000,且a² + b² =c²(a,b,c为自然数),如何求a、b、c可能的组合?枚举法:思路:a=0,b=0,c=0 ——>a=0,b=0,c=1 ——>……——>a=0,b=1,c=0~1000……第一次尝试程序实现:import timet1=time.time()for a in range(0,1001): for b in range(0,1原创 2022-05-15 11:41:41 · 226 阅读 · 0 评论