发表于: 2017-07-09 22:42:10
1 1360
今天完成的事情:
改修真院Bug,后台管理新增日报列表
明天计划的事情:
改修真院Bug,后台管理新增日报列表
遇到的问题:
禅道上的Bug,有些看不懂。
方案:找测试或者古尘师姐复现。
收获:
数据结构之查找算法
1.查找及顺序查找
静态查找:查找和检索某个特定的数据元素,主要是查找动作。
动态查找:插入或者删除数据元素,主要是插和删动作。
顺序查找:找到关键字等于k的结点。
折半查找:将n个元素分成大致相等的两部分查找。
分块查找:如分年级、分系、分专业。
顺序查找的代码:
2.散列(Hash)表知识点:
散列存储:对元素的关键字值进行函数运算,计算出的函数值作为存储该元素的地址(Hash(key)= Addr)这种存储方式。
散列表(又称哈希表):根据关键字而直接进行访问记录的数据结构,它建立了关键字和存储地址之间的一种映射关系。
冲突:不同的关键字可能得到同一哈希地址。
定义哈希函数的方法:
1.直接定值法。
2.除留余数法。
3.数字分析法。
解决冲突的方法:
1.拉链法。
2.开放定址法。
3.Set、Map、List
List特点:元素有放入顺序,元素可重复
Map特点:元素按键值对存储,无放入顺序
Set特点:元素无放入顺序,元素不可重复
面试经常考的(重点)
ArrayList和LinkList的区别:
1.ArrayList是实现了基于数组的数据结构,LinkedList基于链表的数据结构。
2.对于随机访问get和set,ArrayList觉得优于LinkedList,因为LinkedList要移动指针。
3.对于新增和删除操作add和remove,LinedList比较占优势,因为ArrayList要移动数据。
评论