数据结构是系统的骨肉,算法是系统的灵魂; 没有算法,系统就是一具死尸;没有数据,算法就是孤魂野鬼; 数据结构的基本概念: 1、集合 2、线性表3、树、4、图 近几天主要学习的是线性表的内容: 单链表,循环链表的基本概念,寻址方法及相应算法的大O()等级。 块状链表的基本概念。 算法:大O等级的计算方 ...
分类:
编程语言 时间:
2017-06-26 11:32:51
阅读次数:
138
什么是数据结构? 指数据元素之间的关系。这些关系可以分为: 集合 线性结构 树形结构 网状结构。 逻辑结构分为: 线性结构 和 非线性结构。 集合:除了同属一个对象外不存在相互关系。如:汽车上的人除了同辆车彼此间无其他关系。 线性结构:元素间为严格的一对一关系,即一个元素有且只有一个前驱。如:成绩表 ...
分类:
编程语言 时间:
2017-06-25 10:02:54
阅读次数:
181
一:Prim算法 1.概览 普里姆算法(Prim算法)。图论中的一种算法。可在加权连通图里搜索最小生成树。意即由此算法搜索到的边子集所构成的树中。不但包含了连通图里的全部顶点(英语:Vertex (graph theory))。且其全部边的权值之和亦为最小。该算法于1930年由捷克数学家沃伊捷赫·亚 ...
分类:
编程语言 时间:
2017-06-24 15:27:54
阅读次数:
245
查找树ADT——查找二叉树 定义:对于树中的每个节点X,它的左子树中的所有项的值小于X中的项,而它的右子树中所有项的值大于X中的项。 现在给出字段和方法定义(BinarySearchTree.h) 查找二叉树的遍历可以采用遍历和非遍历两种算法。 一、添加元素(insert) 现在假设要添加这样一组整 ...
分类:
编程语言 时间:
2017-06-23 23:02:13
阅读次数:
320
二叉树的广度遍历想想还是比較简单的。利用队列存储当前结点的左儿子和右儿子用作未来的訪问。 代码实现 /** * 源代码名称:TreeBFS.java * 日期:2014-08-25 * 程序功能:二叉树广度遍历 * 版权:CopyRight@A2BGeek * 作者:A2BGeek */ impor ...
分类:
编程语言 时间:
2017-06-23 19:24:14
阅读次数:
127
数据之间的相互关系称为逻辑结构。通常分为四类基本结构: 集合 结构中的数据元素除了同属于一种类型外。别无其他关系。 线性结构 结构中的数据元素之间存在一对一的关系。 树型结构 结构中的数据元素之间存在一对多的关系。 图状结构或网状结构 结构中的数据元素之间存在多对多的关系。 数据结构在计算机中有两种 ...
分类:
编程语言 时间:
2017-06-23 15:50:38
阅读次数:
170
线性链式存储: 包含两部分:1.存储的单个元素 2.指针,指向下一个的地址 Ps:算法应保证具有可移植性,(ElementType) 表长函数,相比顺序数组存储复杂,需要遍历所有元素 定义一个新指针,始终指向当前的这个链表。 下面进行查找数据,有两种查询方式,一种按第几个元素查找,一种按数据值查找。 ...
分类:
编程语言 时间:
2017-06-22 21:53:14
阅读次数:
162
最近在抓底层的语言基础,以前对数据结构和算法并没有太大感觉,但越往深处学就越觉得这些基础真的是要牢牢掌握住。一个简简单单的数组,深究起来都有很多学问。所以打算写个一系列的读书笔记,好好梳理一下这一块的基础知识。这本书是《数据结构预算法JavaScript描述》,是基于JavaScript的。里面大致 ...
分类:
编程语言 时间:
2017-06-20 22:57:22
阅读次数:
264
在JavaScript中,数组其实是一种特殊的对象,用来表示偏移量的索引是该对象的属性,所以JavaScript的数组本质上是对象。同时这些数字索引在内部会被转换成为字符串类型,因为JavaScript对象中的属性名必须是字符串。此外,JavaScript数组还有一个特点,就是数组的每一项可以保存任 ...
分类:
编程语言 时间:
2017-06-20 22:56:40
阅读次数:
272
给定公司NN名员工的工龄,要求按工龄增序输出每个工龄段有多少员工。 输入格式: 输入首先给出正整数NN(\le 10^5≤10?5??),即员工总人数;随后给出NN个整数,即每个员工的工龄,范围在[0, 50]。 输出格式: 按工龄的递增顺序输出每个工龄的员工个数,格式为:“工龄:人数”。每项占一行 ...
分类:
编程语言 时间:
2017-06-20 11:05:56
阅读次数:
226