数据结构课学到的常用知识总结概括

l  快速排序

对于一个待排序序列,通过一趟排序将它分成两个子序列,其中一个序列内所有元素均小于另外一个序列中的任意一个元素。然后对两个子序列均进行上述的排序。知道最后各个子序列均完成排序。

l  深度优先搜索

是对树和图的一种遍历和搜索算法。每次都扩展新产生的状态。

以树为例,选定初始结点,按深度递增的方向遍历该树的某一分支,直至搜索到叶子结点,然后回溯至最近的一个仍其它未被遍历分支的父节点,则按之前的方法搜索该分支。递归完成整个搜索过程。

l  广度优先搜索

以层次递增的顺序进行,当前层所有节点遍历完,才能搜索下一层的结点

l  Dijkstra 单源最短路径(贪心)

每次优先选取离出发点O距离最近的点,并认为该距离是O到该点的最短路径,然后再更改O点到其它未确定顶点的距离。

l  Prim 最小生成树(贪心)

不断扩充点集合,直到所有的点已经在集合中,每次从所有一端在集合中、另一端不在集合的边内选一条最短的且不会构成环路的边,将该边作为生成树的一部分并且将顶点放入集合中。Prim算法每次从剩下的顶点中选择一个最优的顶点加入已有的顶点集合当中,显然这也是贪心法的思想

l  Kruscal (贪心)

将所有的边按权值从小到大的顺序排列,从权值最小的边开始,按照“不构成回路”的依次添加新的边,扩充边集合。

时间: 2025-01-12 18:39:44

数据结构课学到的常用知识总结概括的相关文章

说说翻转的数据结构课

自从接受了翻转课堂的思想,再也容不下传统课堂,于是,见一门,翻一门.条件不具备,就自力更生,艰苦奋斗,南泥湾是我心中的圣地.至于学生,知道他们需要适应,但这是一种信息时代该有的学习方式,带他们深度进入这个前沿,苦和累都值得.更何况,我相信,这是让我的学生更快乐的方式,尽管几乎肯定更要累一些. 一学期就这样下来了.最后一周,布置给学生写个总结.写学习什么,写学习方法上有何改进,多从自己的收获看一看,这是发展中的视角,即使状态不好的同学,我不希望看到一份份检讨书. 我的总结,也是少不了的. 关于课程

MYSQL数据库常用知识整理

Evernote Export MYSQL数据库常用知识整理 什么是MYSQL MYSQL的特性 MYSQL存储引擎的分类以及数据文件的介绍 MYSQL赋权 MYSQL备份与恢复 MYSQL的基本操作:增删查改 MYSQL的基本故障判断与处理 MYSQL的调优 MYSQL主主.主从复制的实现 MYSQL大数据备份和恢复 数据文件的损坏与修复 什么是MYSQL MySQL 是一个开放源码的小型关联式数据库管理系统,开发者为瑞典MySQL AB公司.目前MySQL被广泛地应用在Internet上的中

打造自己的Android常用知识体系

前言 Android常用知识体系是什么鬼?所谓常用知识体系,就是指对项目中重复使用率较高的功能点进行梳理.注意哦,不是Android知识体系. 古语道:学而不思则罔,思而不学则殆.如果将做项目类比为“学”,那么整理就可以类比为“思”. 在做项目过程中总是会遇到使用相同的功能,比如toast.对话框.刷新加载列表.网络框架.数据库等等,一个简单的方法就是从之前的项目中复制粘贴到新项目中,然后做一些个性化修改,好了,这就“大功告成”了.当另外一个新项目用到了,再次复制粘贴.这样是不是很low.但是当

数据结构课作业系列

数据结构课作业-----顺序表 1 /**************************** 2 3 程序名称:简单电话号码查询系统 V.0.1 4 主要功能:简单联系人录入,查找,排序..... 5 主要结构:静态数组类链表 6 7 **************************/ 8 9 #include <cstdio> 10 #include <cstring> 11 #include <iostream> 12 #include <algorit

Linux运维常用知识(4)

linux命令无效-bash: ls: command not found 一次重启后开机,基本所有的命令都不可用,只有少数的命令可用 [[email protected] ~]# ll -bash: ls: command not found [[email protected] ~]# pwd /root [[email protected] ~]# shutdown -r now -bash: shutdown: command not found [[email protected] ~

HTML5常用知识

今日做项目,涉及到native和H5页面的交互 1.document.readyState document.readyState:判断文档是否加载完成.firefox不支持. 这个属性是只读的,传回值有以下的可能: 0-UNINITIALIZED:XML 对象被产生,但没有任何文件被加载. 1-LOADING:加载程序进行中,但文件尚未开始解析. 2-LOADED:部分的文件已经加载且进行解析,但对象模型尚未生效. 3-INTERACTIVE:仅对已加载的部分文件有效,在此情况下,对象模型是有

从零单排入门机器学习:Octave/matlab的常用知识之矩阵和向量

Octave/matlab的常用知识之矩阵和向量 之前一段时间在coursera看了Andrew ng的机器学习的课程,感觉还不错,算是入门了.这次打算以该课程的作业为主线,对机器学习基本知识做一下总结.小弟才学疏浅,如有错误,敬请指导. Andrew的课程选了Octave/matlab为编程语言.他选择这个估计更多是考虑大众性,这门语言容易入门. 然后我觉得学会使用Octave/matlab还是挺有用的.一来是她天生是个数学工具,开始的研究阶段使用她最方便莫属,注意我这里所说的是研究阶段,商用

我在阿里巴巴学到的管理知识

看到管理这个词,很多人第一反应是和自己无关.虽然从狭义概念上讲,管理是领导或者管理人员的职业行为,只有他们才需要与管理打交道,但是从广义角度而言,其实我们每一个人都无时不在与管理打交道,个人层面主要体现在自我管理.自我驱动,稍大一点家庭生活.社交圈子.职业生涯的管理等等.前不久看到"道哥的黑板报"刊载了几篇不错的"公司/团队"管理上的心得,感觉不错,搜藏备忘. 注:原文<管理的最低要求>连载了两期,后来由"商业解剖"整理成文<我

从零单排入门机器学习:OctaveMatlab的常用知识之画图

OctaveMatlab的常用知识之画图 之前一段时间在coursera看了Andrew ng的机器学习的课程,感觉还不错,算是入门了.这次打算以该课程的作业为主线,对机器学习基本知识做一下总结.小弟才学疏浅,如有错误,敬请指导. 看几个例子即可. 'ro'的含义,r表示红色,o表示o形. 可以记住某些常用的选项. 一条命令画两条线.其实可以多条. 一般来说,用户在新输入plot 命令之后,原图片上的内容将被删除.如果你想保存当前的图片内容并将新创建的图片层叠到原图片上,你可以通过使用hold