数据结构 | 第一章 绪论

问题求解与程序设计

        这一节都是介绍性的内容,但是哥尼斯堡的七桥问题值得写写。

#include 

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);
	else
		printf("存在欧拉回路");
	return 0;
}

数据结构的基本概念 

一、数据结构

  1. 数据元素是数据的基本单位,构成数据元素的最小单位称为数据项。对于学生学籍登记表而言,每个学生的档案就是一个数据元素,档案中的学号、姓名、出生日期等是数据项
  2. 数据结构指的是相互之间存在一定关系的数据元素的集合
  3. 数据的逻辑结构是指数据元素以及数据元素之间的逻辑关系
  4. 表结构:一对一,树结构:一对多,图结构:多对多
  5. 树结构和图结果也被称为是非线性结构
  6. 数据的存储结构称为物理结构,是数据及其逻辑结构在计算机中的表示。存储结构除了存储数据元素之外,必须隐式或显式地存储数据元素之间的逻辑关系。在不混淆的情况下,常常将数据的逻辑结构称为数据结构
  7. 算法是对特定问题求解步骤是一种描述,是指令的有限序列,具有有穷性、确定性、可行性

二、算法分析

  1. 问题规模是指输入量的多少,运行算法所需要的时间T是问题规模n的函数,记作T(n)
  2. 基本语句是执行次数与整个算法的执行次数成正比的语句
  3. 算法的时间复杂度是指基本语句的执行次数在渐进意义下的阶
  4. 算法的空间复杂度是指执行过程中需要的辅助空间数量

你可能感兴趣的:(数据结构,数据结构,算法,笔记)