snl是什么意思

snl是什么意思,第1张

Small NestedLanguage(SNL)即简单的具有嵌套过程的程序设计语言,是一种教学用的过程式语言,最初由《编译程序的设计与实现》一书的作者设计并实现了其编译程序(SNLC)。

该语言具有标准数据类型和结构数据类型,可以嵌套定义过程,允许递归调用,过程的参数可以分为值参和变参两种形式,控制语句和Pascal语言基本相同,除指针类型外,SNL具备了过程式语言的基本特征。

SNL是自行定义的,很大程度上是一种类Pascal的“高级”程序设计语言。用其作为实例语言并构造编译程序,可以使绝大多数编译技术在编写元级程序的过程中得到体现。

一个合法的SNL程序是由程序头、声明部分和程序体组成的。

声明部分包括类型声明、变量声明和过程声明。SNL的语法规定可以声明整型(integer)、字符类型(char)、数组类型以及记录类型的类型标识符和变量。过程声明包括过程头、过程内部声明和过程体部分,过程声明内部还可嵌套声明内层过程。

程序体由语句序列组成,可以包括空语句、条件语句、循环语句、输入/输出语句、过程调用和返回语句。表达式分为简单算术表达式和关系表达式。

算法设计

已知一个含有100个记录的表,关键字为中国人姓氏的拼音,请给出此表的一个哈希表设计方案,要求在等概率情况下查找成功的平均查找长度不超过3。

(1) 根据平均查找长度不超过3,确定装填因子α;

snl≈1/2(1+(1/(1-α))){使用线性探测再散列解决冲突}

因snl<=3,所以α至少为0.8,取α=0.8.

(2) 根据α确定表长

由α=(表中添入的记录数)/(哈希表的长度)

所以 哈希表的长度=100/α=125

取表长=150;

(3) 选取哈希函数

H(key)=key MOD 149

(4) key 的选取方法。

设大写字母在表中用1..26 表示,小写字母用27--52 表示。每个人的姓名取四个字

 母(两字姓名取首尾两个字母,三字姓名取各字拼音第一个字母,中间字取首尾两

 个拼音字母)。

将前两个拼音字母的序号并起来,后两个也并起来, 然后相加形成关键字。要求姓名

 的第一个拼音字母要大写,如姓名'王丽明'拼音为'Wang liming',取出四个拼音字母

 为'W,l,i,m',个字母序号依次为 23 38 35 39,组成关键字为 2338+3539=5877,该姓

 名的哈希地址为 5877 MOD 149=66。

(5) 用线性探测再散列处理冲突。

这是设计原理,别的要求没拉:(

你的是win7系统吧?

1、进入控制面板(用类别视图)-选程序 然后默认程序那一行后面有个 始终使用指定的程序打开此文件类型

2、在d出的对话框中选择要更改的文件类型

3、单击浏览选择正确的程序,再确定就行了


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/11289607.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-15
下一篇2023-05-15

发表评论

登录后才能评论

评论列表(0条)

    保存