一.数据结构
数据结构的定义
举例:
二.基本概念与术语
-
数据
指所有输入计算机中并被计算机程序处理的符号集合(可以是数值类型,如整数、实数;也可以是非数值类型,如图形字符) -
数据元素
数据的基本单位,也称为结点,顶点,记录(在计算机中,通常被称为一个整数进行考虑和处理) -
数据项
-
逻辑结构
对数据之间逻辑关系的描述(独立于计算机)
-
存储结构
逻辑结构再计算机存储器中的实现,数据再计算机中的存放方式
-
数据类型
是数据取值范围和对数据进行操作的总和
-
抽象数据类型
由一组数据以及在该数据上的一组操作组成
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication2
{
class Rectangle
{
//单个的长度,宽度就是数据项
//Data
public float Width;
public float Length;
//Operation
public Rectangle(float w, float l)
{
Width = w > 0 ? w : 0;
Length = l > 0 ? l : 0;
}
public void setLength(float l)
{
Length = l > 0 ? l : 0;
}
public void setWidth(float w)
{ Width = w > 0 ? w : 0; }
public float GetArea()
{
return Width * Length;
}
public float GetPerimeter()
{
return (Width + Length) * 2.0f;
}
}
class Program
{
static void Main(string[] args)
{
Rectangle rect = new Rectangle(3.1f,2);
//console.WriteLine()表示再控制台输出
Console.WriteLine(rect.GetArea());
Console.WriteLine(rect.GetPerimeter());
List<Rectangle> lst = new List<Rectangle>();
//用链表形式存储对象
lst.Add(rect);
}
}
}
三.算法与算法分析
1.算法
1.1算法的定义
为了解决某类特定问题而提出的一组有穷规则,即以某些值或值的集合为输入并产生某些值或值的集合,为输出的一系列运算步骤
1.2算法的五个重要特性
- 有穷性:经过有限的时间可以完成
- 确定性或无二义性:给相同的输入即得到相同的输出
- 可行性
- 输入:至少有0个输入
- 输出:至少有1个
1.3算法的设计要求
1.4算法与程序的区别
2.算法分析
2.1时间复杂度
1) 算法耗费的时间
2.2空间复杂度
指该算法所耗费的存储空间,也是问题规模的函数,渐进时间复杂度也常常设为空间复杂度