跳至主要內容
linux基础安装

Linux系统的版本分为 内核版发行版

内核版

  • 由Linus Torvalds及其团队开发、维护

  • 免费、开源

  • 负责控制硬件

发行版

  • 基于Linux内核版进行扩展

  • 由各个Linux厂商开发、维护

  • 有收费版本和免费版本

我们使用Linux操作系统,实际上选择的是Linux的发行版本;在linux系统中,有各种各样的发行版本,具体如下:


ajplus大约 5 分钟linuxlinux
常用命令

Linux常用命令

1. 常用命令

命令 对应英文 作用
ls [目录名] list 查看当前目录下的内容
pwd print work directory 查看当前所在目录
cd [目录名] change directory 切换目录
touch [文件名] touch 如果文件不存在,创建文件
mkdir [目录名] make directory 创建目录
rm [文件名] remove 删除指定文件

ajplus大约 7 分钟linuxlinux
预备知识

1. 逻辑结构

  • 集合结构:数据元素构成了一个无序且无重复元素的集体;各个数据元素同属于一个集合,但它们之间不存在任何直接关系;
  • 线性结构(又称线性表):数据元素按照某种线性顺序进行排列,形成一对一的关系链;除首尾元素外,每个数据元素都有一个唯一的前驱和后继;
  • 树形结构:在树形结构中,数据元素组织成一种层次关系,表现为一对多的父子关系;每一个数据元素(称为节点)可能有零个、一个或多个子节点;除根节点外,每个节点都恰好有一个父节点;
  • 图形结构:图形结构的数据元素间形成了一个多对多的关系网,任意两个元素之间都可以存在直接联系;在这种结构中,任意节点可以拥有任意数量的邻接节点,体现了复杂系统中各元素之间的多重并行关联特性;

ajplus大约 3 分钟数据结构Basic
线性表

线性表是由一系列数据元素构成的有限序列;在这些数据元素中,每一个元素都有一个明确的前驱和一个后继(除了首尾元素);

Ⓜ️

特点:

  • 一对一的关系:线性表中的元素之间是一对一的关系,每个元素仅有一个前驱和一个后继,形成线性序列;

  • 顺序性:线性表中的元素是按照一定的顺序排列的,这个顺序是固定的,可以通过索引来访问;

  • 简洁性:线性表的结构简单,仅需要存储数据元素以及维护它们之间的前驱和后继关系;

  • 操作方便:由于线性表的结构简单直观,它便于进行插入、删除、查找等操作;

  • 存储灵活:线性表可以采用多种方式存储,如顺序存储结构(数组)和链式存储结构(链表),还可以扩展出栈、队列等特殊线性表形式;

  • 高效访问:在顺序存储的情况下,线性表可以实现高效的随机访问,即直接通过索引快速访问任何一个元素;


ajplus大约 5 分钟数据结构线性表
字符串

字符串是编程语言中用来表示和存储文本数据的一种数据类型;由一个或多个字符组成的序列,这些字符按照特定的顺序排列;在大多数编程语言中,字符串是不可变的,这意味着一旦创建,字符串的内容不能被修改;

应用场景:

  • 文件读取:从文件中读取文本内容;
  • 用户输入:接收用户输入的文本数据;
  • 数据存储:将信息存储为文本形式;
  • 数据传输:在网络通信中传输文本数据;

KMP算法

Ⓜ️🛩️


ajplus小于 1 分钟数据结构字符串

栈是只允许在一端进行插入、删除操作的线性表,遵循后进先出(LIFO)原则;栈可以通过数组或链表实现,通常用于存储和管理程序运行时的数据;比如,当函数被调用时,其局部变量和返回地址等信息会被压入栈中,而当函数调用结束时,这些信息会被弹出栈,函数得以返回;

此外,栈还有一些高级应用,如:

  • 中缀表达式转换为后缀表达式:在计算器设计中,后缀表达式(逆波兰表达式)更易于求值;
  • 符号匹配:在编译器设计中,用于检查输入的字符串是否与某种语言中的符号匹配;
  • 计算后缀表达式的值:直接从后缀表达式求值;
  • 实现函数调用和递归:在调用函数时,会用到栈来保存返回地址和局部变量;
  • 文本编辑器的撤销操作:每次撤销操作,相当于在栈中添加一个操作记录,当执行撤销时,则从栈中移除这些记录;
  • 浏览器后退按钮的实现:浏览器的历史记录可以看作是一个栈,每次浏览新的网页就压栈,点击后退按钮则出栈;

ajplus大约 2 分钟数据结构
2
3
4