二叉树学习笔记
二叉树
内容来源于代码随想录
二叉树的递归遍历
递归推理的三个思考点
确定递归的参数和返回值:哪些参数是递归过程需要考虑的
确定终止条件:操作系统使用一个栈结构来保存每一层递归的信息
确定单层递归的逻辑
二叉树的深度搜索三个方法:前序、中序、后序就是使用递归遍历:
首先是二叉树的创建:
输入样例:1 5 8 0 0 0 6 0 0
这个采用的是先根遍历的方式创建的:首先读入根节点,然后一路向左创建新的节点,再向左搜索直至没有左节点,接着回溯至上一根节点寻找右节点,若无结束当层节点的递归,再返回上一个节点。这边要特别注意记得返回的是当前节点:
1234567else{ t = (struct node *)malloc(sizeof(struct node)); t->val = num; //printf("%d", t->val); t->left = create_tree(t->left); t->right = create_tree(t->right); }return t;
ret ...
数据库系统原理
思维导图
部分内容,麻了,后面的由于被旧文件覆盖丢失了
Chapter1_Introduction
Chapter2_Relational Model
Chapter3_Structured Query Language
Chapter4_Intermediate SQL
---
题型
ER图
画图
多值属性加上{属性}
派生属性不存储,只是计算时需要求出来,表示为属性()
复合属性加一个缩进
冗余:
两个实体集建立关系集时,冗余属性要删除
映射关系:
说明了具体几个到几个,例如:2…*, 0…*
就用l..h表示,这种方式都只需要一条直线,然后标记在直线上
否则就用单线,双线,箭头表示。
非二元关系,只允许一个箭头
双线表示全部参与
转换为关系模式
强实体集:
属性直接写下来,主码加下划线,复合属性拆开写,多值属性单独成表再取来原表的主码(特殊情况:如果原表只剩下一个主码,则删除原表),派生属性直接不写
弱实体集:
同上,在加上强实体集的主码作为外键,和自己的分辨符作为主码
联系集:
1-1:先取两个关系的主码,再加上联系集的关系,合成关系,再并入任意一端 ...
人工智能(东软)
简介
老师信息
老师:吴法春
学校:山大(10年毕业)
工作:
TCL c语言 单片机 2.5年 深圳
→\to→ vetch C++开发 ARM平台 3年
→\to→ 青岛 山科智汇 java平台端 Android 3年
→\to→ 东软 java方向 python人工智能
学习安排
前置基础:python基础,python数据处理和可视化基础
五天
第一阶段(2天)
机器学习,深度学习,框架(tensorflow/pytorch)
第二阶段(2-2.5天)
项目实训(分组 3-4人)
第三阶段(0.5-1天)
答辩(ppt,代码演示,15分钟左右)介绍,项目演示,代码演示
成绩
平时成绩30%(考勤为主,有事请假)
项目成绩70%(项目内容为主,答辩为辅,不能来要提前说)
上课时间
上午:8-12点
下午:13-17点
上课方式
每节课都录屏发群里
课件发群里
笔记发群里
环境搭建也发群里
项目
分类任务(数据任选,模型任选)
回归任务(任选)
模式识别(数据任选)
其他项目
要求:
数据、算法、模型、训练(不能直接拿网上的结果)、效果(指标,可视化)
答辩:
PPT(团 ...
SPARKS
SPARKS 语言是一种算法描述语言,这种语言具有精简易懂的特点,适用于模块化程序设计过程中对于各模块的算法进行描述交流,通过使用SPARKS 语言,在模块细化的过程中,可以忽略模块的细节而将关键的算法思想表达出来。
1、基本数据类型
整型、实型、布尔型、字符型
1234567integer x,y;double z,w;boolean a,b;char c,d;
2、赋值语句
将y的值赋给x
1x<-y
3、两个布尔值
true false
为了产生这两个布尔值,设置了逻辑运算符
and or not
和关系运算符
< <= = != >= >
4、数组表示
一个n维的数组可以用以下形式说明:
integer A(l1:u1, l2:u2, ..., ln,un)
其下界为li,上界为ui,1<= i <= n。li和ui都是整数或整型变量,如果某一维的下界为1,则下界li可以不写出。
例如:
integer A(5,7:20)
5、 条件语句
12345if cond then S1else ...
HTML5
【pink老师视频yyds】
一、HTML简介
1、网页
什么是网页
网站是指在因特网上根据一定的规则,使用 HTML 等制作的用于展示特定内容相关的网页集合。
网页是网站中的一“页”,通常是 HTML 格式的文件,它要通过浏览器来阅读。
网页是构成网站的基本元素,它通常由图片、链接、文字、声音、视频等元素组成。通常我们看到的网页, 常见以 .htm 或 .html 后缀结尾的文件,因此将其俗称为 HTML 文件。
什么是 HTML
HTML 指的是超文本标记语言 (Hyper Text Markup Language) ,它是用来描述网页的一种语言。
HTML 不是一种编程语言,而是一种标记语言 (markup language)。
标记语言是一套标记标签 (markup tag)。
所谓超文本,有 2 层含义:
它可以加入图片、声音、动画、多媒体等内容(超越了文本限制 )。
它还可以从一个文件跳转到另一个文件,与世界各地主机的文件连接(超级链接文本 )。
网页的形成
网页是由网页元素组成的,这些元素是利用 html 标签描述出来,然后通过浏览器解析来显示给用户的。
...
git
一、Git概述
Git 是一个免费的、开源的分布式版本控制系统,可以快速高效地处理从小型到大型的各种 项目。
Git 易于学习,占地面积小,性能极快。 它具有廉价的本地库,方便的暂存区域和多个工作 流分支等特性。其性能优于 Subversion、CVS、Perforce 和 ClearCase 等版本控制工具。
【官网】
1、什么是版本控制
版本控制是一种记录文件内容变化,以便将来查阅特定版本修订情况的系统。
版本控制其实最重要的是可以记录文件修改历史记录,从而让用户能够查看历史版本, 方便版本切换。
2、为什么需要版本控制
个人开发过渡到团队协作。
3、版本控制工具
集中式版本控制工具
CVS、SVN(Subversion) 、VSS……
集中化的版本控制系统诸如 CVS、SVN 等,都有一个单一的集中管理的服务器,保存 所有文件的修订版本,而协同工作的人们都通过客户端连到这台服务器,取出最新的文件或 者提交更新。多年以来,这已成为版本控制系统的标准做法。
这种做法带来了许多好处,每个人都可以在一定程度上看到项目中的其他人正在做 ...
Python-学生学习管理系统
【B站网课】
【我的项目文件】
一、需求分析
学生信息管理系统应具备的功能
添加学术以及添加学生的成绩信息
将学生信息保存到文件中
修改和删除学生信息
查询学生信息
根据学生成绩进行排序
统计学生的总分
二、系统设计
系统功能的六个模块
1、录入学生信息模块
2、查找学生信息模块
3、删除学生信息模块
4、修改学生信息模块
5、统计学生总人数模块
6、显示全部学生信息模块
系统功能
业务流程
项目文件
三、主函数设计
预期结果
实现主函数
编号
功能
0
退出系统
1
显示所有的学生信息,调用show()函数
2
录入学生信息,调用insert()函数
3
查找学生信息,调用search()函数
4
删除学生信息,调用delete()函数
5
修改学生信息,调用modify()函数
6
统计学生总人数,调用total()函数
代码
在文件studentsystem.py中实现
菜单函数 menu() 在infoQuery.py文件中
内容在五、信息查询中
四、信息管理
1、录入学生信息
可以一直添加再退出
预期结果
2、删除 ...
Windows DOS命令\批处理脚本学习(进行中)
一、带入
B站视频
由于脚本中 @ECHO 后面没有参数。而没有 参数的 ECHO, 会把当前脚本 ECHO 命令行的状态(ON/OFF)显示出来,显示出的结果也就是:ECHO is off/ECHO is on.
解决:加上@echo off
清屏
1cls
二 、批处理运算操作
1、算数运算
(1)命令模式
1set \a 表达式
案例:
(2)文本模式
案例
1234@echo offset /a var = 1 + 2echo %var%pause
输出结果
2、重定向操作运算
(1)>、>> 效果同Linux
(2)<、<< 效果同Linux
查看文件内容
1type 文件
案例
3、多命令运算
&&、|| 效果同c语言,使用其短路的特性
案例:
4、管道运算
查看当前目录下文件和目录
1dir
|效果同linux
三、批处理基本命令
1、命令格式
1命令 子命令 参数 操作
命令帮助查看/?、/help
2、批处理文件接收参数
同linux,格式略微不同%n(n个参数)
案例:
3、注释
1rem 注释内容
或 ...
Linux学习笔记
一、Linux目录结构
linux 的文件系统是采用级层式的树状目录结构,在此结构中的最上层是根目录“/”,然后在此目录下再创建其他的目录。
在Linux世界里,一切皆文件
/bin [常用] (usr/bin 、 /usr/local/bin)
是Binary的缩写,这个目录存放着最经常使用的命令
/sbin (usr/sbin ./usr/local/sbin)
s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序
/home [常用]
存放普通用户的主目录,在Linux中每个用户都有一个自己的目录,一般该目录名是以用户的账号命名,
/root [常用]
该目录为系统管理员,也称作超级权限者的用户主目录
/lib
系统开机所需要最基本的动态连接共享库,其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库
/lost+found
这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件
/etc [常用]
所有的系统管理所需要的配置文件和子目录my.conf
/e ...
简单实用,解决github打不开进不去的问题
1、网易UU加速器
玩游戏的小伙伴相比都不陌生,但是想不到的是,它也可以帮助我们访问github
方法:
1、搜索”学术“
2、点击加速
3、打开github网址
ps:如果没有安装的话下载网址在这里哦
下载网址:https://uu.163.com/
2、分享一个小工具,打开即可用
百度网盘:
链接:https://pan.baidu.com/s/19nglQ3vxNPTHct-SL2RueQ
提取码:kksk
3、翻墙