一个典型的例子就是自指数据结构。在使用 async 时,它们会自然地出现,因为未来值往往会在引用自己的本地值。
go语言支持指针操作,但是跟c/c++的指针不一样,在go语言中我们不需要维护内存,go语言的指针更像引用类型。
内存映射通常可以提高I/O的性能,因为使用内存映射时,不需要对每个访问都建立一个单独的系统调用,也不需要在缓冲区之间复制数据,内核和用户都能很方便的直接访问内存。...
等价于众数的出现次数超过数组长度的一半,由于数组是有序的,那么一定有数组的中间位置就是众数,我们可以用二分查找找出众数在数组中出现位置的边界,从而计算出众数的出现次数。...
今天操作系统课老师讲到进程,提出了一个有趣的小实验:能否以系统调用的方式利用 Windows 创建进程的系统调用函数来打开一个软件。闲着蛋疼的我立马来了兴趣,姑且写一个玩玩(...
排列是指一个长度为 len 的整数数组,数组中包含1到len的每个数,且每个数只出现一次。
github.com/google/btree是golang实现的一个平衡多叉树。它是etcd索引使用的树形结构。它使用起来非常简单。
冒泡排序是一种简单的排序算法,它也是一种稳定排序算法。其实现原理是重复扫描待排序序列,并比较每一对相邻的元素,当该对元素顺序不正确时进行交换。一直重复这个过程,直到没有任何两个相邻的元素可以交换,就表明完成了排...
在C#中,unsafe关键字被用来定义一种特殊的代码上下文,在该上下文中可以使用指针类型和直接操作内存地址。这通常在执行某些低级操作,或者需要与未托管代码(例如C或C++编写的代码)交互时非常有用。...
算法和数据结构是计算机科学中的核心概念,它们贯穿了软件开发的方方面面。在本文中,我们将深入探讨一些重要的算法和数据结构,包括排序、双指针、查找、分治、动态规划、递归、回溯、贪心、位运算、深度优先搜索(DFS)、广...