堆和树有什么区别 2023-04-18 937 堆和树的区别有:1、节点的顺序;2、内存占用;3、平衡;4、搜索。其中,在二叉搜索树中,左子节点必须比父节点小,右子节点必须必比父节点大。但是在堆中并非如此。在最大堆中两个子节点都必须比父节点小。 一 …
为什么Rust标准库的TreeMap采用B树实现,而不是常用的红黑树 2023-04-18 805 简单来说,BST确实是理论上内存数据结构的优异解,但是有个前提:内存是真的均质随机访问内存。这里给出一个定义,均质随机访问内存即主存拥有在任意上下文场景下,访问任意地址,都有着非常相似的性能。 一、为 …
什么是逆波兰表达式 2023-04-18 874 逆波兰式(Reverse Polish notation,RPN,或逆波兰记法),也叫后缀表达式 (将运算符写在操作数之后),指的是不包含括号,运算符放在两个运算对象的后面,所有的计算按运算符出现的顺 …
为什么numpy的array那么快 2023-04-18 810 因为NumPy的数组是一种静态、同质的类型,当ndarray对象被创建时,元素的类型就确定。由于是静态类型,所以ndarray间的加、减、乘、除用C和Fortran 实现才成为可能,所以运行起来就会更 …
算法和数据结构的重要性是什么 2023-04-18 732 编程好比是一辆汽车,而数据结构和算法是汽车内部的变速箱。一个开车的人不懂变速箱的原理也是能开车的,同理一个不懂数据结构和算法的人也能编程。但如果开车的人懂变速箱的原理,爬坡使用1档可以获得更大牵引力。 …
为什么工程中都用红黑树,而不是其他平衡二叉树 2023-04-18 703 因为红黑树是一种性能非常稳定的二叉查找树,所以,在工程中,但凡是用到动态插入、删除、查找数据的场景,都可以用到它。不过,它实现起来比较复杂,如果自己写代码实现,难度会有些高。 一、为什么工程中都用红黑 …
哈希值有什么用 2023-04-18 768 哈希值,即HASH值,是通过对文件内容进行加密运算得到的一组二进制值,主要用途是用于文件校验或签名。正是因为这样的特点,它常常用来判断两个文件是否相同。 一、哈希值有什么用 哈希值,即HASH值,是通 …
哈希值是怎么生成的 2023-04-18 716 哈希值生成是:通过一定的哈希算法(典型的有MD5,SHA-1等),将一段较长的数据映射为较短小的数据,这段小数据就是大数据的哈希值。他有这样一个特点,他是少数的。 一、哈希值生成 哈希值生成是:通过一 …
什么是哈希值 2023-04-18 1006 哈希值是通过一个计算函数把难以比较的字符串或者其他类型的数据映射成一个整数,最常用的就是映射a~z的hash值,变成hash[(str(i)-‘a’]这个数是一个十进制数,这个十进制数把它映射到0-2 …
机器学习的算法和普通《算法导论》里的算法有什么本质上的异同 2023-04-18 684 算法导论里的算法本质上是对有精确解的问题,如何更有效率地求得这个解。这个效率可以是计算时间更短,也可以是计算过程所需要的空间更少。所谓算法只是如何精简步骤,更快更省事地找到解。 一、机器学习的算法和普 …
信息数据时代,如果数据延迟会对我们造成哪些影响 2023-04-18 626 首先可以肯定是,“扣款延迟”这个问题其实是数据一致性的问题,就是保证数据一致性。比如前几天苹果手机发布的时候,好多小伙伴参加线上抢购明明看着是有货,付款的时候却发现已经没有了。这就是数据一致性的问题。 …
什么是堆,什么是栈,他们之间有什么区别和联系 2023-04-18 649 数据结构中堆是满足父子节点大小(比如大根堆中规定父节点的值要比子节点大)关系的一种完全二叉树;数据结构中的栈则是一种相当简单的结构。虽然栈操作简单,但也有如单调栈等在栈内保持一定数据特性的变种。 一、 …