Engineering Notes

孟斌的小站

技术博客与学习记录

共 608 篇文章 标签与分类索引已启用

数据结构之链表

1. 简介

链表(Linked List)是一种基本的数据结构,用于表示一组元素,这些元素按顺序排列,每个元素都与下一个元素连接。与数组不同,链表的元素不是在内存中连续存储的,而是通过指针来连接的。链表由节点(Node)组成,每个节点包含两个主要部分:数据和指向下一个节点(或上一个节点,如果是双向链表)的引用(指针)。链表可以分为单向链表、双向链表和循环链表等不同类型。

继续阅读

数组 vs. 切片

在Go编程语言中处理数据时,经常会遇到数组和切片。这两者是不同的数据结构,有各自的特性和用途。本文将对Go中的数组和切片进行比较,以帮助大家更好地理解它们。

继续阅读

数组

数组简介

数组是一种基本的数据结构,它是一组有序的元素的集合,这些元素可以是相同类型的。数组中的每个元素都有一个唯一的索引,通常从0开始,用于访问元素。数组在内存中占据一段连续的空间,因此可以通过索引迅速访问元素。以下是有关数组的详细介绍:

继续阅读

go中的内存逃逸

内存逃逸(memory escape)是指在编写 Go 代码时,某些变量或数据的生命周期超出了其原始作用域的情况。当变量逃逸到函数外部或持续存在于堆上时,会导致内存分配的开销,从而对程序的性能产生负面影响。Go 编译器会进行逃逸分析,以确定哪些变量需要在堆上分配内存。下面将详细分析 Go 语言中的内存逃逸以及如何进行优化。

go
继续阅读

PoW、PoS、DPoS和PBFT简介

1. 概览

PoW(工作量证明)、PoS(权益证明)、DPoS(委托权益证明)和PBFT(拜占庭容错)是区块链和分布式系统领域中常见的共识算法。下面将详细介绍这些共识算法的原理和特点:

继续阅读

链表分组逆序

链表分组逆序是一个常见的操作,用于将链表按照一定规则分组后,逆序每个分组。这种操作常常用于解决链表中的某些问题。下面介绍几种常见的用于链表分组逆序的算法,并分析它们的优劣势:

继续阅读