[算法] 请教高手计算树型前面的对应符号
# 数据格式:
list = [
{'id':1, 'title':'t1', 'parent_id':0},
{'id':2, 'title':'t2', 'parent_id':0},
{'id':3, 'title':'t1_1', 'parent_id':1},
{'id':4, 'title':'t1_2', 'parent_id':1},
{'id':5, 'title':'t1_2_1', 'parent_id':4},
{'id':6, 'title':'t2_1', 'parent_id':2},
{'id':7, 'title':'t2_2', 'parent_id':2},
{'id':8, 'title':'t2_1_1', 'parent_id':6},
# 计算树排序与深度:
list_tree = []
def list_order(pid, list, level=0):
for x in list:
if pid == x['parent_id']:
x['level'] = level
list_tree.append(x)
list_order(x['id'], list, level+1)
list_order(0, list, 0)
for x in list_tree:
print(x['title'], x['level'])
# 需求:
# 请看二楼 (csdn发表主题不可使用特殊符号)
相关推荐
算法与数据结构算法与流程图PPT学习教案.pptx
算法与数据结构算法与流程图PPT学习教案.pptx
计算机系数据结构与算法设计.pptx
数 据 结 构 计算机系 计算机系数据结构与算法设计全文共241页,当前为第1页。 第一章 绪 论 1.1 什么是数据结构 1.2 基本概念和术语 1.3 抽象数据类型的表示与实现 1.4 算法和算法分 1.4.1 算法 1.4.2 算法设计的要求 1.4.3 算法效率的度量 1.4.4 算法的存储空间的需求 计算机系数据结构与算法设计全文共241页,当前为第2页。 第一章 绪 论 计算机是一门研究用计算机进行信息表示和处理的科学。这里面涉及到两个问题: 信息的表示 信息的处理 而信息的表示和组又直接关系到处理信息的程序的效率。随着计算机的普及,信息量的增加,信息范围的拓宽,使许多系统程序和应用程序的规模很大,结构又相当复杂。因此,为了编写出一个"好"的程序,必须分析待处理的对象的特征及各对象之间存在的关系,这就是数据结构这门课所要研究的问题。 计算机系数据结构与算法设计全文共241页,当前为第3页。 1.1什么是数据结构 众所周知,计算机的程序是对信息进行加工处理。在大多数情况下,这些信息并不是没有组织,信息(数据)之间往往具有重要的结构关系,这就是数据结构的内容。那么,什么是数据结构呢?先看以下几个例子。 例1、电话号码查询系统 设有一个电话号码薄,它记录了N个人的名字和其相应的电话号码,假定按如下形式安排: (a1,b1)(a2,b2)…(an,bn) 其中ai,bi(i=1,2…n) 分别表示某人的名字和对应的电话号码要求设计一个算法,当给定任何一个人的名字时,该算法能够打印出此人的电话号码,如果该电话簿中根本就没有这个人,则该算法也能够报告没有这个人的标志。 计算机系数据结构与算法设计全文共241页,当前为第4页。 算法的设计,依赖于计算机如何存储人的名字和对应的电话号码,或者说依赖于名字和其电话号码的结构。 数据的结构,直接影响算法的选择和效率。 上述的问题是一种数据结构问题。可将名字和对应的电话号码设计成:二维数组、表结构、向量。 假定名字和其电话号码逻辑上已安排成N元向量的形式,它的每个元素是一个数对(ai,bi), 1 i n 数据结构还要提供每种结构类型所定义的各种运算的算法。 计算机系数据结构与算法设计全文共241页,当前为第5页。 例2、图书馆的书目检索系统自动化问题 例3、教师资料档案管理系统 例4、多叉路口交通灯的管理问题 P3 通过以上几例可以直接地认为:数据结构 就是研究数据的逻辑结构和物理结构以及它们 之间相互关系,并对这种结构定义相应的运算, 而且确保经过这些运算后所得到的新结构仍然 是原来的结构类型。 计算机系数据结构与算法设计全文共241页,当前为第6页。 1.2 基本概念和术语 数据(Data):是对信息的一种符号表示。在计算机科学中是指所有能输入到计算机中并被计算机程序处理的符号的总称。 数据元素(Data Element):是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。 一个数据元素可由若干个数据项组成。数据项是数据的不可分割的最小单位。 数据对象(Data Object):是性质相同的数据元素的集合。是数据的一个子集。 数据结构(Data Structure):是相互之间存在一种或多种特定关系的数据元素的集合。 计算机系数据结构与算法设计全文共241页,当前为第7页。 数据结构主要指逻辑结构和物理结构 数据之间的相互关系称为逻辑结构。通常分为四类基本结构: 一、集合 结构中的数据元素除了同属于一种类型外,别无其它关系。 二、线性结构 结构中的数据元素之间存在一对一的关系。 三、树型结构 结构中的数据元素之间存在一对多的关系。 四、图状结构或网状结构 结构中的数据元素之间存在多对多的关系。 计算机系数据结构与算法设计全文共241页,当前为第8页。 数据结构的形式定义为:数据结构是一个二元组: Data-Structure=(D,S) 其中:D是数据元素的有限集,S是D上关系的有限集。 例 复数的数据结构定义如下: Complex=(C,R) 其中:C是含两个实数的集合 C1,C2 ,分别表示复数的实部和虚部。R={P},P是定义在集合上的一种关系{〈C1,C2〉}。 数据结构在计算机中的表示称为数据的物理结构,又称为存储结构。 计算机系数据结构与算法设计全文共241页,当前为第9页。 数据对象可以是有限的,也可以是无限的。 数据结构不同于数据类型,也不同于数据对象,它不仅要描述数据类型的数据对象,而且要描述数据对象各元素之间的相互关系。 抽象数据类型:一个数学模型以及定义在该模型上的一组操作。 抽象数据类型实际上就是对该数据结构的定义。因为它定义了一个数据的逻辑结构以及在此结构上的一组算法。 用三元组描述如下: (D,S,P) 计算机系数据结构与算
铁路信号基于电缆径路图自动识别的室外电缆配线图生成算法* (2009年)
分析了铁路信号工程设计中从电缆径路图到室外电缆配线图的生成原理和电缆径路图中电缆连接结构,给出了与该结构对应的树型定义和数据结构的列表定义,提出一种基于该数据结构的电缆连接自动识别算法和室外电缆配线图自动生成算法。
算法与数据结构_严蔚敏版.ppt
算法与数据结构_严蔚敏版.ppt
算法与数据结构 (ppt
以严蔚敏,吴伟民编著的《数据结构(C语言版)》为基础编写的ppt类型文档,适合软件开发人员阅读


