当前位置: 首页 > wzjs >正文

福田企业建站推广服务公司北京seo的排名优化

福田企业建站推广服务公司,北京seo的排名优化,设计有关的网站,个人网站模板 免费目录 数据的逻辑结构数据的物理结构算法的五大特性好的算法目标时间复杂度与空间复杂度线性表的顺序存储(顺序表) 6.1 静态分配 6.2 动态分配 6.3 基本操作及时间复杂度 一、数据的逻辑结构 数据的逻辑结构描述数据元素之间的逻辑关系,分为…

目录

  1. 数据的逻辑结构
  2. 数据的物理结构
  3. 算法的五大特性
  4. 好的算法目标
  5. 时间复杂度与空间复杂度
  6. 线性表的顺序存储(顺序表)
    6.1 静态分配
    6.2 动态分配
    6.3 基本操作及时间复杂度

一、数据的逻辑结构

数据的逻辑结构描述数据元素之间的逻辑关系,分为以下四类:

1. 集合结构

  • 特点:元素仅属于同一集合,无其他关系。
  • 示例:学生成绩表中的所有学生。

2. 线性结构

  • 特点:元素间存在一对一关系。
    • 除首元素外,每个元素有唯一前驱;
    • 除尾元素外,每个元素有唯一后继。
  • 示例:数组、链表。

3. 树形结构

  • 特点:元素间存在一对多关系。
  • 示例:文件系统目录、组织架构。

4. 图形结构

  • 特点:元素间存在多对多关系。
  • 示例:社交网络、交通网络。

二、数据的物理结构

数据的物理结构描述数据在计算机中的存储方式,分为以下四类:

存储方式特点
顺序存储逻辑相邻的元素物理位置相邻(如数组)。
链式存储逻辑相邻的元素物理位置可不相邻,通过指针关联(如链表)。
索引存储建立索引表,通过关键字快速定位(如数据库索引)。
散列存储根据关键字直接计算存储地址(哈希表)。

三、算法的五大特性

  1. 有穷性:算法必须在有限步骤内终止。
  2. 确定性:相同输入必得相同输出,无歧义。
  3. 可行性:每一步操作可通过基本运算实现。
  4. 输入:0个或多个输入。
  5. 输出:至少1个输出。

四、好的算法目标

  • 正确性 ✅:算法能正确解决问题.
  • 可读性 📖:代码易于理解与维护.
  • 健壮性 🛡️:对非法输入有合理处理机制.
  • 高效性 ⚡:时间与空间复杂度低.

五、时间复杂度与空间复杂度

1. 时间复杂度

  • 计算规则
    • 保留最高阶项,忽略系数(例如,T(n) = 3n + 3 → O(n))。
    • 嵌套循环关注最深层循环次数.
  • 常见复杂度排序
    O(1) < O(log n) < O(n) < O(n log n) < O(n²) < O(2ⁿ) < O(n!)

示例代码

void fun(int n) {int i = 1;             while (i <= n) {       i++;printf("hello");    }printf("linux");        
}
// 时间复杂度 T(n) = 3n + 3 → O(n)

2. 空间复杂度

  • 定义:算法运行所需的辅助空间大小.
  • 原地工作:空间复杂度为 O(1)(例如,变量交换).

六、线性表的顺序存储(顺序表)

顺序表通过数组实现,支持快速随机访问,但增删操作效率较低.

静态分配

#include <stdio.h>
#define MaxSize 10typedef struct {int data[MaxSize];  int length;         
} SqList;// 初始化
void InitList(SqList *L) {for (int i = 0; i < MaxSize; i++) L->data[i] = 0;L->length = 0;
}int main() {SqList L;InitList(&L);return 0;
}

动态分配

#include <stdio.h>
#include <stdlib.h>
#define InitSize 10typedef struct {int *data;       int MaxSize;     int length;      
} SqList;// 初始化
void InitList(SqList *L) {L->data = (int *)malloc(InitSize * sizeof(int));L->MaxSize = InitSize;L->length = 0;
}// 扩容
void IncreaseSize(SqList *L, int len) {L->data = (int *)realloc(L->data, (L->MaxSize + len) * sizeof(int));L->MaxSize += len;
}int main() {SqList L;InitList(&L);IncreaseSize(&L, 5);  return 0;
}

基本操作及时间复杂度

操作时间复杂度说明
按位查找O(1)直接通过下标访问元素.
按值查找O(n)遍历数组查找目标值.
插入O(n)需移动后续元素(平均n/2次).
删除O(n)需移动后续元素.

代码示例(插入与删除)

// 插入元素
bool ListInsert(SqList *L, int i, int e) {if (i < 0 || i > L->length || L->length >= L->MaxSize) return false;for (int j = L->length; j > i; j--) L->data[j] = L->data[j - 1];L->data[i] = e;L->length++;return true;
}// 删除元素
bool ListDelete(SqList *L, int i, int *e) {if (i < 0 || i >= L->length) return false;*e = L->data[i];for (int j = i; j < L->length - 1; j++) L->data[j] = L->data[j + 1];L->length--;return true;
}

http://www.dtcms.com/wzjs/826336.html

相关文章:

  • dede网站不能运行php文件深圳建筑工地招工招聘信息
  • 宁波网站建设网站开发怎么网站建设
  • 网站怎么做收费望京网站开发
  • 深圳网站维护有限公司衡水专业网站建设公司
  • 修改网站首页排序网站开发交什么税
  • html网站作业盐山做网站价格
  • 新兴县城乡建设局网站上海房产网安居客
  • c#可以做网站吗方案网站
  • 郑州网站设计收费低wordpress2019谷歌字体
  • 陕西网站开发价格wap和app的区别
  • 怎么在网站上做推做捕鱼网站电话
  • “设计网站”手机微网站模板下载
  • 建网站花费网站挂马 屏蔽站长的ip
  • 动漫电影做英语教学视频网站有哪些slim编辑器Wordpress
  • 百度seo推广软件青岛专业做网站优化
  • 网站开发软件 连接SQL数据库Wordpress主页不要全部显示
  • 北塘网站制作外贸网站做啥
  • 网站怎样和首页做链接襄阳地区网站做的好的
  • 官方网站建设调研报告wordpress图表模板类
  • 建网站学什么专业网站设计与编辑
  • 如何制作ppt课件优化方案物理电子版
  • 网站建设的意义怎么写jsp网站开发工具
  • 网站开发的软硬件环境表格制作教程从零开始
  • 爱心捐赠网站怎么做成都网站建设网络
  • 找生意做去哪个网站孝感建设网站
  • 山东省建设厅官方网站网站建设.龙兵
  • 做网站 想做成宽屏的公众号怎么制作流程
  • 网站建设新闻分享有资源的公众号
  • 电子元器件商城网站建设东莞企业网站开发
  • 网站建设与管理 pdf响应式建站网站