摘要:
今天小伙伴在群里问了这么一个问题: 出现这种情况就是因为内存不足, 程序直接退出了,报错大概如下: 上图的意思就是说,我们能使用的内存最大是8M,但是处理这个图片还需要额外的41bytes,就会导致内存不足,这是一个很严重的错误。在对图片进行操作前需要将图片的所有信息读入内存中,同时还会使用另一部分 阅读全文
摘要:
"上一章" 我们讲了如何根据需要动态设置 的大小,在第四章中,我们使用了 来解决 的碰撞,其实解决方法有很多,这一章我们来介绍下其他方法。 本章将介绍两种解决 碰撞的方法: 1. 拉链法 2. 开放地址法 拉链法 使用拉链法,每一个 都会包含一个 ,当发生 时,就会将该记录插入在该位置的 后面,步骤 阅读全文
摘要:
"上一章" 中,我们实现了 中的 、`搜索 删除 hash表 53 hash表`的大小。 设置 大小 现在,我们的 是固定大小( )的,当插入越来越多数据时,我们的 就会被插满,这个问题有两个原因: 1. 哈希表的性能随着高冲突率而降低 2. 我们的'hash表'只能存储固定数量的记录,如果我们存储 阅读全文
摘要:
"上一章" 中,我们使用了 的技术来处理 ,并用了 实现,贲张我们将实现 中的 、`搜索 删除`接口。 实现接口 我们的 将会实现如下的接口: Insert函数 在 中插入一条记录时,我们需要遍历整个 知道找到一个空的位置,然后执行插入并将 的大小加 。`hash表 count hash表 缩放ha 阅读全文
摘要:
"上一章" 我们解释了 中最重要的 ,并用伪代码和C语言实现了一个我们自己的 ,`hash函数 碰撞 碰撞`时我们改如何有效的处理呢?这章我们就来讲解下。 处理碰撞 中将无限大的输入映射到有限的输出中,当不同的输入映射到相同的输出时,就会发生 ,每个的 都会采用不同的方法来处理 。 我们的哈希表将使 阅读全文
摘要:
"上一章" ,我们讲了 的数据结构,并简单实现了 的初始化与删除操作,这一章我们会讲解 和实现算法,并手动实现一个 函数。 Hash函数 本教程中我们实现的 将会实现如下操作: 输入一个字符串,然后返回一个 到`m`(Hash表的大小)的数字 为一组平常的输入返回均匀的 索引。如果Hash函数不是均 阅读全文
摘要:
"上一章" ,简单介绍了 ,并提出了本教程中要实现的几个 的方法,有 、`insert(a, k, v) delete(a, k) Hash table`使用的数据结构。 数据结构 hash表中存储的每一项 的数据结构: 我们的hash表中保存着一个指向每一项的指针数组,里面还包括hash表的大小, 阅读全文
摘要:
说明 翻译过来就是 ,是一种提供了类似于关联数组的数据结构,可以通过 执行搜索、插入和删除操作。 由一些列 组成,而每一个 都是由 的形式组成。存储时都是以 存储的,因为当要定位一个 时,需要把 传给一个 ,这个函数返回一个数(索引),代表查找的 位于哪一个 中。同理,当我们要从所有的 中取回 时, 阅读全文
摘要:
1. malloc 原型: 头文件: 中可以用 或者 功能:分配长度为num_bytes字节的内存块 返回值:如果分配成功则返回指向被分配内存的指针(此存储区中的初始值不确定),否则返回空指针 。当内存不再使用时,应使用 函数将内存块释放。函数返回的指针一定要适当对齐,使其可以用于任何数据对象。 函 阅读全文
摘要:
如何用PHP读取Excel、CSV,现在PHPExcel已经不再维护了,最新的一次提交还是在2017年12月25号,建议直接使用PhpSpreadsheet,而且这两个项目都是同一个组织维护的,本文介绍PhpSpreadsheet的使用。 阅读全文