链表在C语言的实现

本文以图书馆的书目信息表为例,讲解链表在C语言的实现。 链表存储的元素称为节点,节点由数据域和至少一个指针域构成,数据域存储数据,指针域存储指向该节点前驱或后驱节点的指针。若节点只有一个指针域,一般指向该节点的后驱节点,若无后驱节点,则该指针域为空或NULL。 typedef struct Node{     void*  data;        //数据域     struct Node *p

贪心算法思想

现在假设有面值1角、2角、5角、10角(1元)的硬币各10枚,要求用最少的硬币数量来找零。 例如:找1.3元的零钱,1.3元转换成角,就是13角。 找零钱就是把不同面值或同一面值的硬币组合起来,组合的面值等于需要找零的钱数。1.3元就是13角。 下面有A、B、C三种硬币的组合方法: A组合方法:1个10角的硬币、3个1角的硬币; B组合方法:1个10角的硬币、1个2角的硬币、1个1角的1币; C组

图存储结构详解与C代码实现

  邻接矩阵就像一个巨大的表格,表的行和列都代表图中的节点。如果节点A和节点B之间有边相连,那么在这个表格中,A行B列(或B行A列,对于无向图来说)的位置上就会标记为1(或者其它表示“有连接”的值)。如果它们之间没有边相连,那么这个位置就标记为0(或其它表示“无连接”的值)。 图 1-28图的邻接矩阵 以图1-28为例,我们来理解图的邻接矩阵。 在无向图中,边是双向的,即如果顶点i与顶点

数据结构与算法:快速理解数据结构

数据结构是指数据在计算机系统中的组织和存储方式。数据是能够带给我们信息的数值、文字、图像、视频、符号等内容,数据按照一定的结构组织在一起称为数据的逻辑结构,数据的逻辑结构以何种方式存储到物理空间称为数据的存储结构,数据的逻辑结构和存储结构统称为数据结构。 为了更好地理解数据结构,下面我们来看几个例子。 图 1-1学生信息表 图 1-2贷款申请辅助决策树模型 以图1-2贷款申请辅助决策树模型为例,决

快速理解树结构

想象一下,你站在一棵大树下,抬头望去,看到的是茂密的树枝和树叶。这些树枝和树叶是怎么分布的呢?它们就像是一个个节点,从树干这个根节点开始,一层一层地向上生长,分叉,再生长,再分叉。这就是树结构的基本形态。 图 2-15树的形态 树结构的特点在于它的层次性和分支性。每个节点都有自己的层级,就像树的层次一样。而且,每个节点都可以有自己的子节点,就像树枝可以分出更多的树枝一样。 树结构是一种非常重要的数