算法初步算法研究的是时空复杂度,它具有有穷性,确定性,可行性,还有输入/输出等特点一、算法分类穷举(万能算法):求N个数的全排列、8皇后问题分而治之(减而治之):二分查找——减而治之、归并排序——分而治之贪心:最小生成树 Prim, Kruskal、单源最短路 Dijkstra动态规划:背包、士兵路径二、复杂度时空复杂度:使用大O记号(最坏情况,忽略常数系数) 时间:基本操作次数(汇编指令条数)
转载
2023-07-03 20:58:03
80阅读
3.1 数据结构定义数据结构是指相互之间存在着一种或多种关系的数据元素的集合和该集合中数据元素之间的关系组成。简单来说,数据结构就是设计数据以何种方式组织并存储再计算机中。比如:列表、集合与字典等都是一种数据结构。数据结构按照其逻辑结构可分为线性结构、树结构、图结构。线性结构:数据结构中的元素存在一对一的相互关系树结构:数据结构中的元素存在一对多的相互关系图结构:数据结构中的元素存在多对多的相互关
转载
2023-06-14 19:29:53
96阅读
注:数据结构与算法使用Python语言实现,涉及基本数据结构、十大排序算法、递归分治、贪心动归等,意在帮大家更加容易的学习数据结构与算法以及进一步梳理这些知识点。 目录一、线性结构1.顺序存储:数组2.链式存储:链表3.线性结构对比4.队列6.栈二、树形结构1.二叉树2.二叉树的特点3.特殊二叉树4.二叉树的性质5.二叉树的存储结构6.二叉树的遍历三、图形结构1.图2.图的存储结构3.图
转载
2023-08-09 16:32:37
94阅读
一,线性数据结构1.线性数据结构的特点数据项之间只存在先后的次序关系,新的数据项加入到数据集中时,只会加入到原有某个数据项之前或之后线性结构总有两端:左右端、前后端、顶端底端等,但两端的称呼并不是关键,不同线性结构的关键区别在于数据项增减的方式有的结构只允许数据项从一端添加,而有的结构则允许数据项从两端移除2. 线性数据结构分类 栈(stack)队列(queue)双端队列(d
转载
2023-06-06 21:08:33
82阅读
文章目录Day02_1单链表代码01_sigleLinkList.pyDay02_1单链表视图Day02_1回顾Day02_2单链表代码01_sigleLinkList.pyDay02_2单链表视图Day02_3栈代码02_listStack.py03_singleLinkListStack.pyDay02_3图解在这里插入图片描述Day0301_ListQueue.py02_LinkListQ
转载
2023-11-11 15:04:10
125阅读
1.数据结构介绍1.1 什么是数据结构?1.2数据结构的分类2. 数据结构-列表2.1 列表在内存中的存储方式2.2 列表的中的元素查找(元素储存方式)3.数据结构-栈3.1 栈的基本介绍3.2 栈的的实现3.3 栈的应用-括号匹配问题4.数据结构-队列4.1 队列的基本概念4.2 简单实现队列5. 栈和队列的应用5.1 利用栈来解决5.2 使用队列解决6. 数据结构-链表6.1 链表的基本概念
转载
2024-05-17 06:41:24
19阅读
面试题004 重建二叉树题目描述:
输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。
解题思路:
递归思想。前序遍历中第一个元素是根,因此在中序遍历中找到根的位置下标,根将中序遍历分为两部分,分别是左子树和右子树
转载
2024-07-28 14:01:44
61阅读
10.1 这里写目录标题10.110.210.310.510.1510.1710.2510.2610.2810.2910.3010.3110.3210.3310.3510.3710.3810.4010.4110.4210.4210.4510.4710.4810.5010.5110.5210.53 from collections import MutableMapping
class MyMu
转载
2023-09-14 12:41:22
68阅读
仅针对算法刷题进行针对性python语法学习 python算法预备语法知识(三)——数据结构目录 文章目录目录1. Array数组特性2. LinkedList链表特性3. Hash Table哈希表特性4. Queue队列特性5. Stack栈特性6. Heap堆特性 1. Array数组数组是一种基础的数据结构,在python中常用list来表示数组特性在内存中有一段连续的内存来存储一组类型相
转载
2024-06-22 15:27:27
48阅读
1. 二叉树复原(10分)题目内容: 给定一种序列化二叉树的方式:从根节点起始按层次遍历二叉树所有“可能”存在节点的位置:若该位置存在节点,则输出节点值,并在下一层相应增加两个可用位置;否则输出None,且不增加下一层的可用位置。 例如"[5, 4, 7, 3, None, 2, None, -1, None, 9]"是下图所示的二叉树序列化的结果: 其中红色箭头对所有的None进行了标记。 现给
转载
2023-12-14 20:46:17
122阅读
一、为什么要学习数据结构python 语言和标准库自带了很多数据结构,比如 list、set、dict、tuple、queue、heapq等,所以很在标准库或者第三方库提供的数据结构够用的情况下,不需要自己再写数据结构。当然,掌握了数据结构的原理之后,面对大量数据的时候,可以更轻松地选择合适的数据结构,以及在标准数据结构不够用的情况下,可以定制化实现自己的数据结构。为什么要有数据结构呢? 可以考虑
转载
2023-11-01 23:30:06
53阅读
一、为什么要学习数据结构python 语言和标准库自带了很多数据结构,比如 list、set、dict、tuple、queue、heapq等,所以很在标准库或者第三方库提供的数据结构够用的情况下,不需要自己再写数据结构。当然,掌握了数据结构的原理之后,面对大量数据的时候,可以更轻松地选择合适的数据结构,以及在标准数据结构不够用的情况下,可以定制化实现自己的数据结构。为什么要有数据结构呢? 可以考虑
转载
2023-06-19 21:43:24
125阅读
算法与内置数据结构常用算法和数据结构sorteddict/list/set/tuple分析时间/空间复杂度实现常见数据结构和算法数据结构/算法语言内置内置库线性结构list(列表)/tuple(元祖)array(数组,不常用)/collection.namedtuple链式结构collections.deque(双端队列)字典结构dict(字典)collections.Counter(计数器)/O
转载
2023-12-06 23:31:38
172阅读
这门课程是我2019年下半年学的,老师很棒,讲得容易理解,讨论区的问题基本上老师都会回复,通过这门课程学到了许多东西,十分感谢老师。在这里把我之前期末考试的代码和注释发上来,当做一个保存和纪念吧,同时方便对将来刚学这门课的同学参考吧_1二叉树路径(10分)题目内容:给定一个二叉查找树的节点插入顺序,请重新构建这个二叉查找树,并按从左至右顺序返回所有根节点至叶节点的路径输入格式:一行整数,以空格分隔
转载
2023-12-27 16:29:16
28阅读
目录第一章 Python数据分析基础1、python关键字查看2、type()语法查看字符类型3、python中语法左开右闭4、None的介绍5、数据结构之列表(序列类数据结构)6、数据结构之元组和集合(序列类数据结构)7、数据结构之字典(无序类型数据结构)课程目标:1、熟练掌握python语法和常用数据结构;2、熟练掌握数据分析相关库的运用;3、对数据分析相关流程和常用方法比较了解;4、能够完成
转载
2024-08-12 10:26:26
72阅读
章绪论 1.1引言 1.1.1学习目的 1.1.2课程内容 1.2基本概念 1.2.1数据与数据结构 1.2.2数据类型与抽象数据类型 1.3算法 1.3.1算法的概念 1.3.2算法描述 1.3.3算法分析 小结 习题1 第2章线性表 2.1线性表及其基本操作 2.1.1线性表的基本概念 2.1.2抽象数据类型描述 2.1.3线性表的存储和实现 2.2线性表的顺序存储 2.2.1顺序表 2.2.
转载
2023-10-18 16:20:58
181阅读
编程 = 数据结构+算法互联网大佬也说,算法是基础。要想把编程学好就要打牢基础。常用算法和数据结构这里列出来,20个最常用的、最基础数据结构与算法,不管是应付面试还是工作需要,只要集中精力逐一攻克这20个知识点就足够了。10个数据结构:数组、链表栈、队列、散列表、二叉树、堆、跳表、图、Trie树;10个算法:递归、排序分查找、搜索、哈希算法、贪心算法、分治算法、回溯算法、动态规划、字符串匹配算法。
转载
2023-08-07 14:47:47
84阅读
好久没有写了,今天来开个新坑。最近在看数据结构与算法,因为比较熟悉python语言,就选择了它的python语言版本来学习,现在就记录一下。无序列表的实现我们需要构造一个链表来实现无序列表。链表,顾名思义是前后两项之间有连接的数据结构,它不受限与连续的内存空间,而是通过每一个结点的指针域来找到它的下一个结点(后继),因此链表的增删十分方便,更改指针域指针的指向即可,而不用调整大量数据的存储位置。构
转载
2023-08-17 23:00:13
34阅读
一、列表(list)列表用[]表示:li1 = [18, 19, 20, 21, 22]列表的本质为一种有序的集合创建列表# 创建空列表
li2 = []
li3 = list()
print(li2)
print(li3)
# 创建带有初始元素的列表
# 列表中的元素是可以不同的,但是一般相同
li4 = [1, 2, 3, 4, 5, 'good', True]
print(li4)列表元素的
转载
2023-12-12 11:10:06
122阅读
1. 介绍数据结构的概念数据结构是指相互之间存在着一种或者多种关系的数据元素的集合和该集合中数据元素之间的关系组成;简单来说,数据结构就是设计数据以何种方式组织并存储在计算机;比喻:列表、集合、字典等都是一种数据结构;“程序=数据结构+算法”。2. 数据结构的分类数据结构按照其逻辑结构可分为线性结构、树结构、图结构线性结构:数据结构中的元素存在一对一的相互关系树结构:数据结构中的元素存在着一对多的
转载
2023-06-06 21:20:40
76阅读