抽象数据类型:接口思维与数据结构实现
抽象数据类型:接口思维与数据结构实现 很多人刚开始学数据结构时,注意力会自然放在“代码怎么写”上:数组怎么存,链表节点怎么连,栈怎么入栈出栈,队列怎么维护头尾指针。这当然很重要,但如果学习长期只停留在...
抽象数据类型:接口思维与数据结构实现 很多人刚开始学数据结构时,注意力会自然放在“代码怎么写”上:数组怎么存,链表节点怎么连,栈怎么入栈出栈,队列怎么维护头尾指针。这当然很重要,但如果学习长期只停留在...
递归基础:从函数调用到递归树 很多人第一次接触递归时,会有一种很强烈的“不踏实感”。明明平时写函数都是从上往下顺着执行,可一到了递归,函数居然在自己调用自己,看起来像是会无限套下去。尤其是第一次看到树...
复杂度分析:时间复杂度、空间复杂度与均摊分析 很多人刚开始学数据结构时,最容易产生的一个感觉是:这些结构好像都能完成任务,那为什么还要专门比较它们?比如数组能存数据,链表也能存数据;排序能做,查找也能...
写在前面:关于这份数据结构学习总结 很多人开始学数据结构时,第一反应往往是:这不就是刷题用的吗?于是学习过程很容易变成背定义、记模板、做几道题,然后很快又忘掉。可如果把视角稍微拉高一点,你会发现数据结...
C语言联合体详解:共用内存空间的灵活数据结构 在C语言中,有时我们需要一种能够根据不同场景表示不同数据类型的数据结构。例如,要表示水果的“量”,有时需要用整数(6个苹果),有时需要用浮点数(1.5公斤...
C语言结构体详解:从基本定义到高级应用 在C语言中,结构体(struct)是组织和存储相关数据的最重要工具之一。结构体允许你将多个不同类型的数据项组合成一个单一的复合数据类型,这对于表示现实世界中的对...