队列(Queue):先进先出(FIFO)的数据结构
Posted on November 4, 2023
队列是一种基本的数据结构,用于在计算机科学和编程中管理数据的存储和访问。队列遵循先进先出(First In, First Out,FIFO)原则,即最早入队的元素首先出队。这种数据结构模拟了物理世界中的队列,如排队等待服务的人。
[Read More]
栈:数据结构中的后进先出(LIFO)容器
Posted on November 3, 2023
栈是一种基本的数据结构,广泛应用于计算机科学和编程中,用于管理数据的存储和访问。栈遵循后进先出(Last In, First Out,LIFO)原则,即最后放入栈的元素首先被取出。这种数据结构模拟了物理世界中的栈,如一堆书或一摞盘子。
[Read More]
数据结构之链表
Posted on November 2, 2023
数组 vs. 切片
Posted on November 1, 2023
在Go编程语言中处理数据时,经常会遇到数组和切片。这两者是不同的数据结构,有各自的特性和用途。本文将对Go中的数组和切片进行比较,以帮助大家更好地理解它们。
[Read More]
数组
Posted on November 1, 2023
go中的内存逃逸
Posted on October 31, 2023
内存逃逸(memory escape)是指在编写 Go 代码时,某些变量或数据的生命周期超出了其原始作用域的情况。当变量逃逸到函数外部或持续存在于堆上时,会导致内存分配的开销,从而对程序的性能产生负面影响。Go 编译器会进行逃逸分析,以确定哪些变量需要在堆上分配内存。下面将详细分析 Go 语言中的内存逃逸以及如何进行优化。
[Read More]
如何设计一个高可用的分布式系统
Posted on October 31, 2023
设计一个高可用的分布式系统需要考虑多个方面,包括系统架构、故障处理、负载均衡、数据一致性、监控和自动化等。以下是设计高可用的分布式系统的关键考虑因素:
[Read More]
PoW、PoS、DPoS和PBFT简介
Posted on October 31, 2023
链表分组逆序
Posted on October 27, 2023
链表分组逆序是一个常见的操作,用于将链表按照一定规则分组后,逆序每个分组。这种操作常常用于解决链表中的某些问题。下面介绍几种常见的用于链表分组逆序的算法,并分析它们的优劣势:
[Read More]
查找数组中第K大的元素
Posted on October 27, 2023
要查找一个数组中的第 K 大元素,有多种方法可以实现,其中常用的方法是使用分治算法或快速选择算法,这两种方法的时间复杂度到时候O(n)。
[Read More]