题解 2366: 信息学奥赛一本通T1456-图书管理

来看看其他人写的题解吧!要先自己动手做才会有提高哦! 
返回题目 | 我来写题解

筛选

Java-易懂详细代码

摘要:解题思路: 判断前缀 为add 则进行添加操作  // 可以保存到数组中3000的长度 或者 保存到ArrayList中 前缀如果 为find 则进行查找操作注意事项:参考代码:import jav……

图书管理:时间复杂度

解题思路:本题难度不大,单纯的存入容器以及每次进行查找,但是到后面测试用例会越来越多,如果是用列表作为容器并且每一次遍历列表进行匹配的话,最后的测试用例就超出时间限制,这时就需要简化时间复杂度,将容器数据结构替换为字典类型,后续进行查找比对的时候直接使用in来比对,
优质题解

信息学奥赛一本通T1456-图书管理:啊哈,这道题根本不用哈希,我就是奔着STL来的

这道题真的是用来练哈希表的无疑但是这道题真的用哈希吗?答案是:不用!我们都学过STL没学过去看一下,stack,queue,seet,map,这道题的书名还小于200:正是启用map的好时机!map:一种STL容器它的具体操作有map的基本操作函数:C++maps是一种关联式容器,

题目 2366: 信息学奥赛一本通T1456-图书管理 C++/Java

###思路本题就是让优化查找的,用红黑树或哈希表储存字符串红黑树:插入和查找效率O(logn)哈希表:插入和查找,如果哈希值没有大量冲突效率O(1),反之可能退化成线性查找O(n)红黑树和哈希表的构建有点复杂,不容易构建好在Java和C++提供了相应数据结构的容器JavaHashMap(哈希表+红黑树

题解 2366: 信息学奥赛一本通T1456-图书管理

解题思路:主要要用hash表,把单个字符映射一个数字的方式,比如说字符串abAB01就可以映射为{97,98,65,66,48,49}。希望把这串序列成0,mod-1中的一个数字称为字符串的hash值,转换方式和k进制转换十进制一样,就是不停的迭代运算hash=(hash*k+s[i])%mod即可,