Lua数据结构的学习笔记】的更多相关文章

更多详细内容请查看:http://www.111cn.net/sys/linux/59911.htm table是Lua中唯一的数据结构,其他语言所提供的其他数据结构比如:arrays.records.lists.queues.sets等,Lua都是通过table来实现,下面看一些例子.一. tabletable是lua唯一的数据结构.table 是 lua 中最重要的数据类型. table 类似于 python 中的字典.table 只能通过构造式来创建.其他语言提供的其他数据结构如array…
1 简介 2 语法 2.1 语法约定 2.1.1 保留关键字 2.1.2 操作符 2.1.3 字符串定义 2.2 值与类型 2.2.1 强制转换 2.3 变量 2.3.1 索引 2.3.2 环境表 2.4 语句 | statement 2.4.1 语句组 | chuncks 2.4.2 语句块 | blocks 2.4.3 赋值 | assignment 2.4.4 控制结构 2.4.5 For 循环 2.5 表达式 2.5.1 数学运算操作符 2.5.2 比较操作符 2.5.3 逻辑操作符 2…
第6章 深入函数 函数是一种“第一类值(First-Class Value)”,他们具有特定的词法域(lexical scoping) 将表达式“function(x) <body> end”视为一种函数的构造式,就像table的构造式{}一样. function foo(x) return 2*x end  --> foo = funciton(x) return 2*x end closure(闭包) 非局部变量(non-local variable) 从技术上讲,lua只有clos…
第1章:起点 Chunks: 语句块 每个语句结尾的分号是可选的,如果同一行有多个语句最好使用分号分隔: dofile("lib1.lua")  -- 执行lua文件 全局变量:局部变量用local修饰,否则就是全局变量 保留字: if then else elseif end and or not fuction return end true false nil while ... do .. end    break repeat ... until ... for ... in…
2-3树:是一种多路查找树,包含2结点和3结点两种结点,其所有叶子结点都在同一层次. 2结点:包含一个关键字和两个孩子(或没有孩子),其左孩子的值小于该结点,右孩子的值大于该结点. 3结点:包含两个关键字和三个孩子(或没有孩子),其左孩子的值小于关键字最小值,右孩子的值大于关键字最大值,中间孩子的值介于两个关键字之间. 2-3-4树:类似于2-3树,4结点包含三个关键字和四个孩子. B树:是一种平衡的多路查找树,2-3树和2-3-4树都是B树的特例,树中各结点中最大的孩子数目称为B树的阶. 一个…
抽象数据类型(ADT)是指一个数学模型以及定义在该模型上的一组操作,通常用(数据对象,数据关系,基本操作集)这样的三元组来表示抽象数据类型. 数据结构是相互之间存在一种或多种特定关系的数据元素的集合,由逻辑结构.存储结构.数据的运算组成. 数据结构的逻辑结构有线性结构(一对一).树(一对多)以及图(多对多). 数据结构的存储结构有顺序结构.链式结构.索引结构和散列结构. 数据的运算由运算的定义以及运算的实现构成. 算法有以下五个特性:①有穷性:②确定性:③可行性:④输入:⑤输出. 时间复杂度T(…
middleclass使在lua中面象对象变的简单 抄了一遍他的示例代码运行着试了试,基本懂了 local class = require 'middleclass' --类的继承 Person = class('Person') --定义一个Person类 function Person:initialize(name) --构造函数 self.name = name end function Person:speak() --方法 print("Hi,i am " ..self.n…
动态查找表包括二叉排序树和二叉平衡树. 二叉排序树:也叫二叉搜索树,它或是一颗空树,或是具有以下性质的二叉树: ①若左子树不空,则左子树上所有结点的值均小于它的根结点的值: ②若右子树不空,则右子树上所有结点的值均大于它的根结点的值: ③它的左右子树也是二叉排序树. 由此可得,对二叉排序树进行中序遍历可以得到一个递增的有序数列. 二叉排序树的查找:将关键字与根结点相比较 typedef struct BiTNode{ //二叉排序树结点结构 int data; //结点数据 struct BiT…
查找:在数据集合中寻找满足某种条件的数据元素的过程称为查找. 查找表:用于查找的数据集合称为查找表,一般有以下操作:①查找是否在表中:②查找属性:③进行操作. 查找表又分为: ①静态查找表:只可以进行之前的①②操作,例如顺序查找.折半查找: ②动态查找表:可以进行以上①②③所有操作,例如二叉排序树.二叉平衡树. 关键字:数据元素中某个可以唯一标识该元素的数据项. 平均查找长度(ASL):在查找的过程中,一次查找的长度是指需要比较的关键字次数,而平均查找长度则是所有查找过程中进行关键字的比较次数的…
图(G)由顶点集(V)和边集(E)组成,G=(V,E) 常用概念: ①V(G)表示图G中顶点的有限非空集,V永不为空: ②用|V|表示图G中顶点的个数,也称为图G的阶: ③E(G)表示图G中顶点之间关系(边)的集合: ④用|E|表示图G中边的条数. 图分为: ①有向图:有向边(弧)的有限集合<V,W>: ②无向图:无向边(边)的有限集合(V,W). 简单图:不存在顶点到自身的边,同一条边不重复出现. 多重图:某两个结点之间的边数多于一条,又允许顶点通过一条边和自己关联. 完全图:任意两个结点之…