软件设计师考试学习2

2023-09-20 08:54:27

数据结构与算法基础

在这里插入图片描述

数组

在这里插入图片描述

稀疏矩阵

在这里插入图片描述

用代入法计算,A
在这里插入图片描述

数据结构的定义

非线性结构分为树和图,区别在于有没有环路
在这里插入图片描述

顺序表与链表

在这里插入图片描述
在这里插入图片描述
引入头节点可以使所有的节点处理方式一致
如果没有空的头节点,头节点需要单独处理
在这里插入图片描述

顺序存储与链式存储

查找特殊情况:如果有顺序的话顺序存储更优(二分查找)
在这里插入图片描述

队列与栈

在循环队列里,为了使队空和队满条件不同,往往使队尾指针指向的空间为空
在这里插入图片描述

D
先看最终在队列中的排列情况,然后看是否可以形成这样的情况
在这里插入图片描述

广义表

表尾是除了表头外的所有元素
tail head head
在这里插入图片描述

树与二叉树的基本概念

结点的度为拥有子结点个数
树的度为所有结点最高的度
在这里插入图片描述

满二叉树与完全二叉树

完全二叉树是上面都是满的,最下面一层是从左到右排满的
第三条
在这里插入图片描述

二叉树遍历

在这里插入图片描述

反向构造二叉树

有前序和后序,不能构造二叉树
在这里插入图片描述
在这里插入图片描述

树转二叉树

连线法
在这里插入图片描述

查找二叉树(排序二叉树)

在这里插入图片描述

最优二叉树(哈弗曼树)

最优二叉树用于哈夫曼编码,哈夫曼编码是一种无损压缩的编码方式

路径长度是树有多少段,加起来有多长
叶子结点代表某个数值出现的频度,比如2,就代表某个数值出现了两次,它的带权路径长度为22=4;4的结点为43 =12

整颗树的带权路径长度为每个叶子结点的带权路径长度相加
哈夫曼树就是最小的带权路径长度的树

构造哈弗曼树,是找到当前最小的两个结点,然后一步步构造上去
在这里插入图片描述

线索二叉树

有虚线把结点空的指针串起来,方便遍历
左指针指向前面遍历的结点,右指针指向后面遍历的结点
在这里插入图片描述

平衡二叉树

排序二叉树有多颗,所以出现了平衡二叉树
在这里插入图片描述

图的概念及存储

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

图的遍历

在这里插入图片描述
在这里插入图片描述

拓扑排序

在这里插入图片描述

图的最小生成树(普利姆算法)

最小生成树是留下的边权值相加最小的树
还有另一个算法是克鲁斯卡尔算法
树的结点个数为n,那么边的个数最多为n-1

从一个任意结点出发,例如A,找到最短的距离的点,那么选到B
再找AB出发最短距离的点,即AE,那么选E点
以此类推,再选F->D->C
在这里插入图片描述
在这里插入图片描述
克鲁斯卡尔算法:
一直选距离最短的边,但是不能形成环
在这里插入图片描述

算法的特性

在这里插入图片描述

算法的复杂度

在这里插入图片描述

顺序查找与二分查找

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

散列表

类似按内容存储
在这里插入图片描述
在这里插入图片描述

排序

在这里插入图片描述

直接插入排序

在这里插入图片描述

希尔排序

属于插入排序的一种
基本思想:基本有序了以后再排序比较次数少,交换次数少
在这里插入图片描述

直接选择排序

在这里插入图片描述

堆排序

在这里插入图片描述
在这里插入图片描述

建堆:从最后一个非叶子结点开始,即从5开始调,5和8互换
然后调整4,4和6互换;
然后调整3,3和8互换;但是互换以后还得递归继续将3和5互换
最后调整1。。

在这里插入图片描述

顶取走之后,将最后一个结点放在堆顶,然后调整
堆排序很适合选出前几位数字
在这里插入图片描述

冒泡排序

在这里插入图片描述

快速排序

在这里插入图片描述

归并排序

在这里插入图片描述

基数排序

在这里插入图片描述

排序算法的复杂度和稳定性

在这里插入图片描述

程序设计语言与语言处理程序基础

编译原理
重点:正规式,表达式,传值与传址
在这里插入图片描述

编译过程

语法分析是每个词连起来是否合理;例如if对应的end是否存在
语义分析例如是否存在死循环
在这里插入图片描述

文法的定义、语法推倒树(讲的不清楚)

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

有限自动机与正规式

S是开始,双圈一般代表结束
在这里插入图片描述
有限自动机的另一种表达形式
在这里插入图片描述
*代表循环多次,可以是0到无穷
在这里插入图片描述

A选项推倒过程
选D
第二个空用代入法,看第一个选项的几个选项是否能表达,或者超过了表达范围
在这里插入图片描述

这个很简答,C
在这里插入图片描述

表达式

和树的遍历一样
D,主要是构造树
在这里插入图片描述
在这里插入图片描述

函数调用(传值与传址)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

各种程序语言特点

在这里插入图片描述

法律法规

2-3分
侵权判断必考
邻接权保护出版商的权利,和著作权相关的权利
地理标志权,例如新疆哈密瓜,新疆就是地理标志权
在这里插入图片描述

保护期限

商业秘密分为经营和技术
在这里插入图片描述

知识产权人确定

在这里插入图片描述

在这里插入图片描述

侵权判定

在这里插入图片描述
在这里插入图片描述

标准分类与标准编号

在这里插入图片描述
在这里插入图片描述

多媒体基础

1-3分
在这里插入图片描述

音频相关概念

固定电话的采样频率为8k,cd44k,44.1k
在这里插入图片描述

图像相关概念

在这里插入图片描述
RGB用于彩色显示器
YUV是考虑兼容性发明的彩色空间,有一个值是灰度值,是为了考虑黑白电视
CMY是印刷颜色空间,C是艳青,M杨红,Y是黄色,
光的颜色是叠加的,印刷颜色是相减的
CMYK中K是黑色,是因为CMY调出来的黑色不够黑
HSV是艺术家空间

电视上还能用YIQ,YCBCR(由YUV衍生出来的)
在这里插入图片描述

媒体的种类

显示媒体,输入设备也是显示媒体
在这里插入图片描述

多媒体计算

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

传输数据的时候是用的小写的k,为1000
存储的时候是用大写的K,为1024

多媒体标准

在这里插入图片描述

数据压缩技术

有冗余才能压缩
在这里插入图片描述

有损压缩与无损压缩

在这里插入图片描述

更多推荐

超硬核的Move Dev Meetup上海线下交流会圆满结束

北京时间9月16日下午2–6点,由MoveFunsDAO联合其他组织举办的Move开发者线下交流会在上海悦达国际大厦圆满完成。此次活动也是上海区块链周的周边活动,受到了Web3从业者的广泛关注。本场交流会邀请了OpenBuild技术社区主理人Ian主持,50余位参会者来到现场参与此次交流。以下是嘉宾分享:Jolesta

基础算法--双指针算法

双指针算法1.基本介绍严格的来说,双指针只能说是是算法中的一种技巧。双指针指的是在遍历对象的过程中,不是普通的使用单个指针进行访问,而是使用两个相同方向(快慢指针)或者相反方向(对撞指针)的指针进行扫描,从而达到相应的目的。最常见的双指针算法有两种:一种是,在一个序列里边,用两个指针维护一段区间;另一种是,在两个序列里

药品咨询报告合集整理平台打包(一共36597份)【专题推荐】

<医药行业从业者必看>笔者今天分享高价值医药行业报告36500余份的获取/下载方法,报告涵盖了医药细分领域研究报告+药品报告(所有上市药品)+医药行业分析报告+医药环境观察报告+药品市场调研报告+药品靶点研究报告+医药白皮书;数据来源于药融云自产报告&药品报告自动生成系统(最新日期)。①报告下载途径药品报告:药融云医药

Linux文件操作基础:快速入门指南和实用技巧

文章目录linux文件操作基础I.查看文件和目录1.`ls`命令用法`ls`命令详细介绍`pwd`命令用法:`pwd`命令详细介绍`cd`命令用法:`cd`命令详细介绍:II.创建文件和目录`touch`命令用法`touch`命令详细介绍III.复制、移动和重命名`cp`命令用法`cp`命令详细介绍IV.删除文件和目录

无人机(UAV)隐蔽通信(covert communication)的联合功率分配和轨迹设计

文章目录摘要Introduction本文是JointPowerAllocationandTrajectoryDesignforUAV-EnabledCovertCommunication一文的阅读笔记摘要在本文中,我们研究了无人机(UAV)网络中的隐蔽通信,其中无人机将信息传输给多个地面用户(GU),而不会被隐藏探测器

计算机竞赛 深度学习 机器视觉 车位识别车道线检测 - python opencv

0前言🔥优质竞赛项目系列,今天要分享的是🚩深度学习机器视觉车位识别车道线检测该项目较为新颖,适合作为竞赛课题方向,学长非常推荐!🥇学长这里给一个题目综合评分(每项满分5分)难度系数:3分工作量:3分创新点:4分🧿更多资料,项目分享:https://gitee.com/dancheng-senior/postgr

走进人工智能|自主无人系统 从概念到现实的飞跃

前言:自主无人系统是具备自主感知、决策和执行能力的智能系统,无需人类干预即可完成任务的技术体系。文章目录序言AUS的现有应用从概念到现实的飞跃`技术发展历程`目前形式领跑人困难和挑战总结自主无人系统(AutonomousUnmannedSystems,简称AUS)是当代科技领域的重要发展方向之一。它代表了人工智能、机器

云原生之深入解析Kubernetes Pod的网络状态监控

一、前言在Kubernetes系统里,由kubelet内置的cadvisor组件收集每个容器资源监控信息,但官方基于性能相关的考虑,如果抓取这些每个容器中网络相关的指标,将会耗费大量的CPU内存资源,cadvisor中默认给关掉了网络等相关指标的收集。https://github.com/google/cadvisor

vue中使用vue-property-decorator

一、前言Vue.js是一个非常受欢迎的前端框架,它能够快速构建交互性强的单页面应用。而vue-property-decorator是一个用于Vue.js的装饰器库,可以帮助我们更方便地编写Vue.js组件。下面来详细讲解vue-property-decorator的用法。vue-class-component是vue的

更快更强更稳定:腾讯向量数据库测评

向量数据库:AI时代的新基座人工智能在无处不在影响着我们的生活,而人工智能飞速发展的背后是需要对越来越多的海量数据处理,传统数据库已经难以支撑大规模的复杂数据处理。特别是大模型的出现,向量数据库横空出世。NVIDIACEO黄仁勋在NVIDIAGTCKeynote演讲中首次提到了向量数据库,并强调它在构建专有大型语言模型

【操作系统】进程控制与进程通信

🐌个人主页:🐌叶落闲庭💨我的专栏:💨c语言数据结构javaEE操作系统Redis石可破也,而不可夺坚;丹可磨也,而不可夺赤。操作系统一、进程控制1.1什么是进程控制1.2如何实现进程控制(“原语”实现)1.2.1如何实现原语的“原子性”1.3进程的创建1.4进程的终止1.5进程的阻塞1.6进程的唤醒1.7进程的

热文推荐