C/C++算法编程笔记(2024.10.1) 稍微补充下怎么用数组去建树,一开始以为[N][26]的第一维度是树的层数;现在搞懂了,一维是结点总数,而结点和结点之间的关系(谁是谁儿子)存在第二个维度,比如[0][1]=3, [0]表示根节点,[1]表示它有一个儿子‘b’,这个儿子的下标是3;接着如果有一个[3][2]=8;说明根节点的儿子‘b’也有一个儿子‘c’,这个孙子的下标就是8;这样传递下去,就是一个字符串。随便给一个结点][x][y], 并不能看出它在第几层,只能知道,它的儿子是谁。
C/C++算法编程笔记(2024.9.26-9.30) Kruskal算法每次都选择一条最小的,且能合并两个不同集合的边,一张n个点的图总共选取n-1次边。省政府“畅通工程”的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有直接的公路相连,只要能间接通过公路可达即可),并要求铺设的公路总长度为最小。随后的M行对应M条道路,每行给出一对正整数,分别是该条道路直接连通的两个城镇的编号。随后的N(N-1)/2行对应村庄间的距离,每行给出一对正整数,分别是两个村庄的编号,以及此两村庄间的距离。的,顺序的,而数据元素的逻辑顺序是通过链表中的指针连接次序实现的。