
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
【说明】本文来自由周世平老师主编的《C语言程序设计》教材。我作为参编人员执笔了第7、8章。“第8章 问题求解与算法”中“8.6.1 回溯法”以8皇后问题的求解为例,介绍了回溯法的解题过程。这个解决方案中用到了“栈”,引用至此,作为栈应用的例子。需要说明的是,教材面向程序设计初学者,并全文中并未提出过任何关于“栈”的描述。这样做,隐藏了术语,减少初学者的认知难度。对于数据结构的学习者而言,由于知识面
本文针对数据结构基础系列网络课程(3):栈和队列中第6课时栈的应用2-迷宫问题。例:求出从入口到出口的路径程序实现:#include <stdio.h>#define MaxSize 100#define M 8#define N 8int mg[M+2][N+2]={{1,1,1,1,1,1,1,1,1,1},{1,0,0,1,0,0,0,1,0,1},
本文是[数据结构基础系列(8):查找]中的实践项目参考。【项目 - 二叉树排序树中查找的路径】设计一个算法,输出在二叉排序中查找时查找某个关键字经过的路径。[参考解答]专为本项目设计的算法体现在函数int SearchBST(…)和void SearchResult()中。#include <stdio.h>#include <malloc.h>#define MaxSize 100t
本文是数据结构基础系列(6):树和二叉树中第12课时层次遍历算法的例程。【二叉树的层次遍历算法】 实现二叉树的层次遍历算法,并对用”A(B(D,E(H(J,K(L,M(,N))))),C(F,G(,I)))”创建的二叉树进行测试。 请利用二叉树算法库。[参考解答](btreee.h见算法库)#include <stdio.h>#include "btree.h"void Level
【留言】 学数据结构之前是不是一定要学离散数学【答复】 你问了一个非常好的问题,不少初学计算机的同学该会产生这个疑问(大多数有疑问不提而已,这不是好习惯),更深层地,这里可能包含着我们的学习路线的问题,尤其是需要自主安排学习的时候。 首先,作为大学的培养方案,是这样安排的。我想解读一下,其中所包含的培养目标,以及背后的学习原理假设。培养目标是,有扎实计算机科学基础的高级技术人才。离
本文针对数据结构基础系列网络课程(2):线性表中第11课时单链表应用举例。例:拆分单链表 (linklist.h是单链表“算法库”中的头文件,详情单击链接…)//本程序严格讲有个bug,详见1楼#include <stdio.h>#include <malloc.h>#include "linklist.h"void
本文是针对[数据结构基础系列(7):图]中第1-9课时的实践项目。0701 图结构导学0702 图的定义0703 图的基本术语0704 图的邻接矩阵存储结构及算法0705 图的邻接表存储结构及算法0706 图的遍历0707 非连通图的遍历0708 DFS的应用0709 BFS的应用【项目1 - 图基本算法库】定义图的邻接矩阵和邻接表存储结构,实现其基本运算,并完成
本文是针对[数据结构基础系列(7):图]的实践项目。【项目 - 迷宫问题之图深度优先遍历解法】 设计一个程序,采用深度优先遍历算法的思路,解决迷宫问题。 (1)建立迷宫对应的图数据结构,并建立其邻接表表示。 (2)采用深度优先遍历的思路设计算法,输出从入口(1,1)点到出口(M,N)的所有迷宫路径。 [模型建立] 将迷宫中的每一格作为一个顶点,相邻格子可以到达,则对应的
本文针对数据结构基础系列网络课程(5): 数组与广义表的实践项目。【项目1 - 猴子选大王(数组版)】 一群猴子,编号是1,2,3 …m,这群猴子(m个)按照1-m的顺序围坐一圈。从第1只开始数,每数到第n个,该猴子就要离开此圈,这样依次下来,最后一只出圈的猴子为大王。输入m和n,输出猴子离开圈子的顺序,从中也可以看出最后为大王是几号猴子。 要求采用数组作为存储结构完成。[参考解答1]
本文针对数据结构基础系列网络课程(2):线性表的实践项目。【项目 - 单链表算法】(程序中利用了已经实现的单链表算法,头文件LinkList.h及其中函数的实现见单链表算法库) 1、已知L1和L2分别指向两个单链表的头结点,且已知其长度分别为m、n,请设计算法将L2连接到L1的后面。实现这个算法,完成测试,并分析这个算法的复杂度。[参考解答]#include <stdio.h>#includ







