数据结构学习笔记
本笔记依据《数据结构(c语言版)》(第二版)殷人昆和《数据结构精讲与习题详解》整理
第一章绪论
1.1数据结构的概念及分类
1.1.2与数据结构相关的基本术语
7.抽象数据类型ADT
思考题:系统开发中数据设计三视图为数据内容,数据结构和数据流其中有关数据结构的道路主要涉及数据元素之间的关系,那么数据元素内容应在什么时候考虑?
数据元素的内容应在系统开发的早期阶段考虑,并且通常是在数据设计的第一个视图——数据内容视图中进行定义和确定的。数据设计的三个视图包括数据内容视图、数据结构视图和数据流视图,这些视图通常是并行进行的,但它们之间存在着一定的依赖关系。
以下是关于何时考虑数据元素内容的一些重要考虑因素:
需求分析阶段: 在系统开发的早期,首先要进行需求分析。这一阶段涉及与项目相关的各方(包括业务用户、利益相关者等)合作,以了解他们的需求和期望。在这个过程中,要确定系统需要收集、存储和处理哪些数据。这有助于确定数据元素的内容。
数据模型设计: 在需求分析之后,您可以开始设计数据模型,其中包括定义数据元素的内容。这通常涉及到创建实体-关系图(ER图)或其他数据建模工具,以 ...
Go语言入门
笔记根据GO圣经
程序结构
变量
指针
2.3.2. 指针 指针是实现标准库中flag包的关键技术,它使用命令行参数来设置对应变量的值,而这些对应命令行标志参数的变量可能会零散分布在整个程序中。为了说明这一点,在早些的echo版本中,就包含了两个可选的命令行参数:-n用于忽略行尾的换行符,-s sep用于指定分隔字符(默认是空格)。
new
new另一个创建变量的方法是调用内建的new函数。表达式new(T)将创建一个T类型的匿名变量,初始化为T类型的零值,然后返回变量地址,返回的指针类型为*T。
12345p := new(int) // p, *int 类型, 指向匿名的 int 变量fmt.Println(p) // "0xc00001e218"fmt.Println(*p) // "0"*p = 2 // 设置 int 匿名变量的值为 2fmt.Println(*p) // "2"
用new创建变量和普通变量声明语句方式创建变量没有什么区别,除了不需要声明一个临时变量的名 ...
Python切片完全指南(语法篇)
转载原文链接胡小涂
什么是切片操作
在Python中,切片(slice) 是对序列型对象(如list, string, tuple)的一种高级索引方法。普通索引只取出序列中 一个下标对应的元素,而切片取出序列中一个范围对应的元素,这里的范围不是狭义上的连续片段。下面的代码初步展示了切片索引的力量。
>>> a = list(range(10))
>>> a
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> a[:5]
[0, 1, 2, 3, 4]
>>> a[5:]
[5, 6, 7, 8, 9]
>>> a[2:8]
[2, 3, 4, 5, 6, 7]
>>> a[::2]
[0, 2, 4, 6, 8]
>>> a[::-1]
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
Latex快速入门
LaTeX 文档类(\documentclass)
相关链接
\part
\chapter
\section
\subsection
\subsubsection
1234567891011121314\part{排版} \chapter{第一章 LATEX chapters and sections} \section{这是第一个章节}可以添加章节内容。 \subsection{这是一个子章节}子章节内容 \section{这是第二个章节}第二个章节的内容。\subsubsection{这是一个三级章节}第三个章节的内容。
数据结构前备知识
指针
C指针与地址(基础认知)
在C语言的学习过程中,常理不清指针(即一个变量的地址)和指针变量(专门用来存放另一变量的地址(指针)的变量)的关系,因此通过程序打印地址运行结果,来分析加强理解。老师在教授过程当中常将两个概念混在一起说,很多人听不明白,某个小学生多要理解几遍这段话。
前言
一、代码示例
代码如下:
1234567891011121314151617181920212223#include <stdio.h>int main(){ int a=88,b=60 ; int *p; p=&a;//指向a的地址 printf("%p\n",&a); printf("%#p",p);//以十六进制的形式输出 printf (" %p ",*p); printf(" %p\n",&p); printf("%d",p); printf (" %d ",*p ...
洛谷深入浅出基础篇整理
原题链接 P1957 口算练习题
6.字符串与文件操作
字符数组
例6-4:口算练习题
题目描述
王老师正在教简单算术运算。细心的王老师收集了i道学生经常做错的口算题,并且想整理编写成一份练习。 编排这些题目是一件繁琐的事情,为此他想用计算机程序来提高工作效率。王老师希望尽量减少输入的工作量,比如 5+8\texttt{5+8}5+8 的算式最好只要输入 5\texttt 55 和 8\texttt 88,输出的结果要尽量详细以方便后期排版的使用,比如对于上述输入进行处理后输出 5+8=13\texttt{5+8=13}5+8=13 以及该算式的总长度 666。王老师把这个光荣的任务交给你,请你帮他编程实现以上功能。
输入格式
第一行为数值 iii
接着的 iii 行为需要输入的算式,每行可能有三个数据或两个数据。
若该行为三个数据则第一个数据表示运算类型,a\texttt aa 表示加法运算,b\texttt bb 表示减法运算,c\texttt cc 表示乘法运算,接着的两个数据表示参加运算的运算数。
若该行为两个数据,则表示本题的运算类型与上一题的运算类型相同,而这两个数 ...