符号表(Symbol Table)

来源:互联网 发布:零基础学java要多久 编辑:程序博客网 时间:2024/06/05 19:12

前言

符号表,一种映射关系,具体实现常用Hash表。很多情况下,现实世界的东西不能在计算机中表示,这时候就需要符号表,它给我们构建了现实世界和计算机世界的桥梁。

常用方法比较

方法 平均插入时间 平均查找时间 平均删除时间 链表 c(保存链表尾部) n n/2 有序线性表 lnn lnn(二分查找) n 二叉搜索树 1.38lnn(未启用删除方法) 1.38lnn(未启用删除方法) n(启用删除方法后,插入、查找删除时间全变为n) 红黑树 lnn lnn lnn 拉链法(数据均匀独立) [3,5](说明见下) [3,5] [3,5] 线性探测法(数据均匀独立) [3,5](说明见下) [3,5] [3,5]

特殊性

备注:二叉搜索树和红黑树的备注在文章二叉搜索树(Binary Search Tree)
中。

拉链法

为什么平均(插入,查找,删除)的时间是3-5呢?这和散列的范围有关。这里规定数据规模为 n, 散列过后的表规模为 n/5,并且数据满足均匀独立,平均下来每个散列结果下都应该有3-5个值,所以平均(插入,查找,删除)的时间是3-5。

线性探测法

为什么平均(插入,查找,删除)的时间是3-5呢?我也不清楚。不过散列的规模最好为待散列数组长度的一半

Java 散列设计规则

  • 31x+y 进行转换
  • 原始类型(primitive type)用包装类型(wrapper type)转换
  • 空值转换为 0
  • 引用类型(reference type)转换为自身对应的hashcode(Java中)
  • 如果对象为数组,对其中每一个成员应用上面的规则
0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 幼儿园学生骂老师怎么办 学生骂老师外号怎么办 小孩上课很多嘴怎么办 学生老玩手机怎么办 和校长有了矛盾怎么办 家长打了我怎么办 小朋友不想去幼儿园怎么办 小朋友不想上幼儿园怎么办 高中老师打学生家长怎么办 老师偏心学生该怎么办? 老师能打孩子怎么办 有的幼儿打老师怎么办? 孩子特别怕老师怎么办 孩子跟老师认生怎么办 和搭班老师不合怎么办 学生厌学了老师怎么办 孩子很怕我怎么办 斗米报名之后怎么办 孩子鼻子长疮怎么办 六年级孩子不爱学习怎么办 孩子不要爱学习怎么办? 孩子说不愿意读书怎么办 孩子三天没吃饭怎么办 孩子三天不吃饭怎么办 初中学生不爱学习怎么办 孩子写字头歪怎么办 学习习惯差该怎么办 孩子沉迷网络游戏家长怎么办 二年级贪玩厌学怎么办 孩子太注重外表怎么办 宝宝老爱摔跟头怎么办 小孩很讨厌你怎么办 初二作业没写完怎么办 初中孩子上课困怎么办 老师不搭理孩子怎么办 心里纠结一件事怎么办 孩子不喜欢吃蔬菜怎么办 孩子不愿练钢琴怎么办 孩子不愿练琴怎么办 孩子和老师吵架怎么办 学生老顶撞老师怎么办?