Java 嵌套映射的时间复杂度是多少
对于嵌套贴图,如:Java 嵌套映射的时间复杂度是多少,java,big-o,computer-science,Java,Big O,Computer Science,对于嵌套贴图,如: Map<String, Map<String, List<String>>> map = new HashMap<String, HashMap<String, ArrayList<String>>>(); Map Map=newhashmap(); 它的正常操作(如put、remove和containsKey)的时间复杂度是多少 谢谢 时间复杂度将与非嵌套的HashMaps的时间复杂度相同 每次查找
Map<String, Map<String, List<String>>> map = new HashMap<String, HashMap<String, ArrayList<String>>>();
Map Map=newhashmap();
它的正常操作(如put、remove和containsKey)的时间复杂度是多少
谢谢 时间复杂度将与非嵌套的
HashMap
s的时间复杂度相同
每次查找仍然需要平均的固定时间
要在嵌套的映射
中搜索内部值,需要执行两次查找-第一次在外部映射
中,如果在外部映射
中找到值,则在内部映射
中进行第二次查找。由于两个查找都需要固定时间,因此总查找时间保持不变
这同样适用于
put
,remove
,等等。所以,当这样做时:for(Entry staff:map.entrySet()){for(Entry subject:staff.getValue().entrySet()){for(String sessionTime:subject.getValue()){subject.getValue()}会是O(n^3)吗,因为有三个for循环@승기유 这取决于什么是n
。迭代所有内部映射的所有列表值中的所有字符串的复杂度是外部映射的大小、内部映射的最大大小和列表的最大大小的乘积。如果这些大小中的任何一个可以由常量绑定,则总复杂度将小于n^3。