专门做品牌网站设计服务北京seo公司工作
问题求解与程序设计
这一节都是介绍性的内容,但是哥尼斯堡的七桥问题值得写写。
#include <stdio.h>int Euler(int mat[4][4], int n) {int count = 0;for (int i = 0; i < n; i++) {int degree = 0;for (int j = 0; j < n; j++) {degree += mat[i][j];}if (degree % 2 != 0)count ++;}return count;
}int main() {int mat[4][4] = {{0, 1, 2, 2},{1, 0, 1, 1},{2, 1, 0, 0},{2, 1, 0, 0}};int num = Euler(mat, 4);if (num > 2)printf("有%d个地方通奇数桥,不存在欧拉回路", num);elseprintf("存在欧拉回路");return 0;
}
数据结构的基本概念
一、数据结构
- 数据元素是数据的基本单位,构成数据元素的最小单位称为数据项。对于学生学籍登记表而言,每个学生的档案就是一个数据元素,档案中的学号、姓名、出生日期等是数据项
- 数据结构指的是相互之间存在一定关系的数据元素的集合
- 数据的逻辑结构是指数据元素以及数据元素之间的逻辑关系
- 表结构:一对一,树结构:一对多,图结构:多对多
- 树结构和图结果也被称为是非线性结构
- 数据的存储结构称为物理结构,是数据及其逻辑结构在计算机中的表示。存储结构除了存储数据元素之外,必须隐式或显式地存储数据元素之间的逻辑关系。在不混淆的情况下,常常将数据的逻辑结构称为数据结构
- 算法是对特定问题求解步骤是一种描述,是指令的有限序列,具有有穷性、确定性、可行性
二、算法分析
- 问题规模是指输入量的多少,运行算法所需要的时间T是问题规模n的函数,记作T(n)
- 基本语句是执行次数与整个算法的执行次数成正比的语句
- 算法的时间复杂度是指基本语句的执行次数在渐进意义下的阶
- 算法的空间复杂度是指执行过程中需要的辅助空间数量