![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构与算法
多吃核桃
这个作者很懒,什么都没留下…
展开
-
数据结构题回顾与总结 (1) pat pop sequence
开了新坑,开始跟着mooc上浙大的数据结构打打基础。。过程还是蛮折磨的。总结一下思路。先是题目: 输入输出的形式: 整个题的意思大致就是这样:给你一堆array,告诉你array里有多少数字,有几个array,还有堆栈的容量。然后让你编个程序判断通过push和pop能否输出给出的array。思路就是模拟这个进出栈的过程:因为所有的数字是按1,2,3,4,5这种一个接一个(可能不按顺序)的。所以我原创 2017-09-17 14:32:51 · 275 阅读 · 0 评论 -
数据结构习题回顾与总结 (2) List Leaves
还是pat上的一道习题,具体描述如下: 题意大致是这样的:输入的第一行代表树中总节点个数,然后后面的行里,第一位代表左节点的位置,第二位代表右节点的位置,如果是”-“则代表左节点或右节点不存在。举个例子:第0个节点也就是8下面的那行是1 -,就代表节点0的左节点为第1个节点(- -)右节点不存在。然后根据给出的树,按照从上到下从左到右的顺序将所有的叶节点输出,输出形式如图。看到这个题之后感觉很原创 2017-09-27 09:42:30 · 277 阅读 · 0 评论 -
数据结构回顾和总结(树的各种遍历方法)(1)
最近在学习数据结构中树的部分,感觉有点慌。有的时候做题有点思路但是实现起来贼不简洁,甚至实现不了。而且pat这种东西对于输入输出的细节卡的又比较死。做题的时候各种麻烦不断,效率也一般。后来想了想,感觉还是对于树的基本操作不够熟练,所以实现某些功能的时候会出现迟疑,所以就先把题停一停,搞一下基本操作。树的基本操作我现在接触到的差不多有这些:1.二叉树的七种遍历方法(前后中序的递归和非递归方法以及层序遍原创 2017-09-29 11:27:16 · 252 阅读 · 0 评论 -
数据结构回顾和总结(树的各种遍历方法)(2)
上一部分写了三种顺序的递归遍历方法,这次写一下剩下的四种非递归遍历以及层序遍历方法。以下是源码:class Tree(object): def __init__(self, data): self.data = data self.left = None self.right = None self.lag = Falsenod原创 2017-09-29 17:13:35 · 197 阅读 · 0 评论 -
数据结构系统回顾与总结(3)(判断是否为同一棵二叉搜索树)
题目描述如下: 这个题在mooc上的浙大版数据结构中有比较详细的讲解,不过我自己也是作死,总想逞强自己做,做了半个下午才做出来,不过思路挺像。这个题的主题部分就在于检查如何实现。这里采用的是:先用标准序列把标准的二叉搜索树建立起来,然后通过查找来排除后面的序列。打个比方:标准树是3 1 4 2(按这个顺序进行建树),并且按照顺序进行查找,那么我每次查找的时候肯定都访问过上一个数。而如果我按3原创 2017-10-09 17:31:47 · 264 阅读 · 0 评论 -
数据结构回顾与总结 图(1)
学图论相关的知识的时候真的是有点焦头烂额,用python做题还老是超时,遂返回来总结一波,争取更多的进步。说到图,其实图分类很清楚,就是有权无权,有向无向,单源多源。难点集中在图的遍历,以及延伸出来的像最短路径问题以及拓扑和最小生成树等等问题。从基础开始的话,先回顾图的表示。图的表示大致分成两种,也就是邻接矩阵和邻接表。前者多适用于稠密图,后者适用于稀疏图。当然这都是我第一次学的一些见解,也许以后还原创 2017-11-07 17:16:20 · 239 阅读 · 0 评论 -
数据结构回顾与总结 图(2)两种基本的遍历方式
其实说到数据结构的学习,遍历这个词出现的频率是非常非常高的,我们要操作每个数据就必须访问它。图也不例外,图的遍历方式主要有两种,一个是深度优先搜索(deep first search),一个是广度优先搜索(broad first search)。首先是两种遍历的具体思路:对于深度优先搜索,给出一个出发点,这个出发点有许多邻接点,可以构成许多的路径。深度优先就是逮住一条路径先走到黑,黑了之后回到之前的原创 2017-11-07 22:18:07 · 310 阅读 · 0 评论 -
数据结构回顾与总结 图(3)Floyd算法(多源最短路问题)
在现实生活中也会经常碰到多源最短路的问题。比如说供货,我是一个连锁供应商的老板,我们的货从海外运过来,然后选择一个城市作为主要供货城市,别的城市的货源都由该城市提供,要求这个城市去其它城市的运输最便捷,这个城市的选择其实就是一个多源最短路问题。解决多源最短路问题有两个思路,1是对每个节点使用单源最短路算法(dijkstra什么的),2就是采用floyd算法。这里主要回顾floyd算法。说实话,在最近原创 2017-11-13 20:02:35 · 264 阅读 · 0 评论