【数据结构与算法】
文章平均质量分 64
xjCherie
这个作者很懒,什么都没留下…
展开
-
【算法】最大子段和问题
终于要开始学习算法了,想想都有点激动,理论的东西稍后再说,先来个例子看看一、问题定义: 给定n个整数(可能为负数)组成的序列a[1],a[2],a[3],…,a[n],求该序列如a[i]+a[i+1]+…+a[j]的子段和的最大值。当所给的整均为负数时定义子段和为0,依此定义,所求的最优值为: Max{0,a[i]+a[i+1]+…+a[j]},1例如:原创 2015-10-11 23:36:45 · 1595 阅读 · 11 评论 -
【算法】n皇后问题
一、问题描述n皇后问题要求在一个n×n格的棋盘上放置彼此不受攻击的n个皇后,使得它们彼此不收攻击。按照国际象棋的规则,一个皇后可以攻击与之处在同一行或同一列或同一斜线上的任何棋子。因此,n后问题等价于在n×n的棋盘上放置n个皇后,使得任何两个皇后不能被放在同一行或同一列或同一斜线上。输入:棋盘的大小n(即皇后的数量)输出:有多少种放置的方法原创 2015-10-25 23:32:47 · 2069 阅读 · 17 评论 -
【软考】数据结构之5大排序(一)
排序,是将一组任意排列的数据元素重新排列成一个按键值有序的序列的过程,一般以键值的比较和记录移动为标准操作。它是程序设计的基础,一个优秀的算法离不开切实情景的排序方法。排序有两种: 内部排序(InternalSorting):待排序的记录全部存放在计算机内存中进行排序的过程 外部排序(ExternalSorting):指待排序记录的数量很大,以至于内存不能容纳全原创 2014-10-16 10:24:13 · 1859 阅读 · 19 评论 -
平衡二叉树
前言 二叉排序树(又称二叉查找树、二叉搜索树),在进行查找、插入及删除操作时其平均时间复杂度为O(logn),但是它们的最坏时间复杂度都是O(n)和顺序查找的效率相同,出现这种情况的原因在于它们虽然对关键字值进行了排序,但是并没有对树的形状进行限制。即当关键字序列有序时,就会出现这种最坏情况(单侧的二叉树),平衡二叉树的引入就可以对其进行有效调整。例如:对于关键字序列(12,24,原创 2014-10-16 16:09:08 · 2537 阅读 · 25 评论 -
【软考】数据结构
数据结构(DataStructure)是计算机组织、存储数据的方式。它与算法、程序之间的关系,可以用一个等式来概括:算法+数据结构=程序。在分析数据结构之前先来了解几个概念数据:所有被计算机存储、处理的对象,是信息的载体数据项:是数据不可分割的最小的标识单位,在数据库中数据项又称为字段或域数据元素:由数据项组成,是数据的基本单位,通常具有完整确定的实际意义,在程序中作为一个整体而加以考原创 2014-10-04 17:16:22 · 1567 阅读 · 24 评论 -
二叉树遍历
目录一、三种遍历二、遍历算法1. 递归遍历2. 循环遍历一、三种遍历二叉树遍历分为三种:前(先)序遍历、中序遍历、后序遍历首先需要明确,二叉树以何种方式遍历,是以根节点在排序中的先后顺序来命名的,例如: 前序遍历:如果根节点先排序,则为前序遍历【ABC】 中序遍历:如果先排左节点,再排根节点,则为中序遍历【BAC】 后序遍历:如果根节点...原创 2019-04-25 11:04:28 · 337 阅读 · 1 评论