# 数据结构的几个小问题

[En]

Are you ready to start? I don’t think you’re ready, which means you have to do ten standard push-ups, then calm down, have a sip of water, and I drink coffee, which helps to improve your concentration. To know that this part of the content is a little boring, such preparation is necessary.

• 数据是信息的载体，是计算机能够识别、存储和处理的所有符号的总称。
[En]

data is the carrier of information, the general name of all symbols that can be recognized, stored and processed by a computer.*

• 数据项是具有独立含义的识别单位，是数据不可分割的最小单位。
[En]

A data item is an identification unit with an independent meaning and the smallest unit in which data is indivisible.*

• 数据元素是数据的基本单位。
[En]

data elements are the basic units of data.*

• 数据对象是具有相同属性的数据元素的集合。
[En]

A data object is a collection of data elements with the same properties.*

• 数据结构是彼此具有一个或多个关系的数据元素的集合。
[En]

A data structure is a collection of data elements that have one or more relationships with each other.*

• 逻辑结构：数据元素之间的关系称为逻辑结构
• 存储结构：最常用的是顺序存储和链式存储
• 数据的运算：运算是对数据的处理

[En]

Space complexity refers to the amount of storage required for the algorithm to run from start to finish.

[En]

Space complexity refers to the time consumption of the algorithm.

[En]

Data structure is a subject that studies the operating objects of computers and the calculation methods and operations between them in non-numerical programming.

[En]

The algorithm must be feasible, finite and deterministic.

[En]

It’s very painful whether it’s right, but don’t worry, the first chapter is over. If there are other unselected questions in the HKCEE, it depends on luck.

[En]

To tell you the truth, you don’t have to read it.

[En]

Recursion is a method in which a procedure or function calls itself directly or indirectly.

[En]

The recursive method only needs a small amount of code to describe the repeated calculations needed in the process of solving the problem, which greatly reduces the amount of code of the program. The ability of recursion lies in defining an infinite set of objects with finite statements.

[En]

When the data definition form involved in the recursive algorithm is recursive, the recursive algorithm can usually be transformed into a recursive algorithm, and the recursive boundary condition can be used as the recursive boundary condition.

public class HanoiY {
void Move(char chSour, char chDest) {
System.out.println("Move the top plate of" + chSour + " to " + chDest);
}

void Hanoi(int n, char a, char b, char c) {
if (n == 1) {
Move(a, c);
} else {
Hanoi(n - 1, a, c, b);
this.Move(a, c);
Hanoi(n - 1, b, a, c);
}
}

public static void main(String[] args) {
int n = Integer.parseInt(args[0]);
HanoiY hanoi = new HanoiY();
hanoi.Hanoi(n, 'a', 'b', 'c');
}
}


[En]

The advantages of recursion: clear structure, strong readability, and easy to use mathematical induction to prove the correctness of the algorithm.

[En]

The disadvantage of recursion: the running efficiency of recursive algorithm is low, it takes a long time and takes up a lot of storage space.

[En]

A recursive algorithm is a process that calls its own algorithm directly or indirectly.

import java.util.Scanner;
public class FinalSalary{
public static void main(String[] args){
Scanner input = new Scanner(System.in);
System.out.print("请输入要求的哪一年工资：");
int n = input.nextInt();
//方法一：递推（迭代）
int salary = 1500;
for(int i = 1 ; i < n ; i++){
salary *= 1.1;
}
System.out.println("第"+n+"年的工资为：" + salary);
System.out.println("第"+n+"年的工资为："+ Salary(n));
}
//方法二：递归
public static int Salary(int n){
if(n == 1){
return 1500;
}else{
return (int)(Salary(n - 1) * 1.1);
}
}
}

public static DLinkList(LinkList L) {
while (p) {
s.data = p.data;
s.next = rear.next;
s.prior = rear;
rear.next = s;
rear = s;
p = p.next;
}
return H;
}


[En]

The advantages of sequential storage: the method is simple, there are array types in various high-level languages, and it is easy to implement. There is no need to increase the storage overhead to represent the logical relationship between nodes. The sequence table has the characteristic of random access according to the sequence number of elements.

[En]

The advantage of chain storage: when inserting and deleting in the sequence table, there is no need to move elements many times, so it is efficient. There is no need to allocate enough storage space in advance, and a large amount of storage will not be idle or overflow.

[En]

The advantages of circular queue: overcome the false overflow phenomenon, make full use of the vector space (the space after deleting elements can still be used, maximize the use of space) and make effective use of resources.

[En]

How to judge the emptiness and fullness of a circular queue

[En]

The Lord has nothing to worry about when he is a lost dog.

• 一颗非空二叉树的第i层上最多有 2^i-1^ 个节点
• 一颗深度为k的二叉树中，最多具有2^k^-1个节点
• 对于一颗非空的二叉树，若叶子节点数为n~0~,度数为2的节点数为n~2~,则有n~0~=n~2~+1。

[En]

Only add some empty nodes that do not exist, make it in the form of a complete binary tree, and then store it sequentially.

Original: https://blog.51cto.com/u_15226631/5551244
Author: Feyncode
Title: 数据结构的几个小问题

(0)

### 大家都在看

• #### 盲图像超分辨率重建 ( CVPR，2022) (Pytorch)（附代码）

🍊 这篇测评文章用心写了一个下午，个人觉得作为一个初学者入门教程，再合适不过了，敬请查阅 🍊 精选专栏，超分重建-代码环境搭建-知识总结 🍊 博主：墨理，2020年硕士毕业，目前从…

Python 2023年10月9日
092
• #### 什么是数据库连接池？Druid（德鲁伊）连接池的使用详细解读

文章目录 1. 数据库连接池 2. 概念 3. 实现 4. Druid 连接池的使用 5. 总结 Java编程基础教程系列 1. 数据库连接池 2. 概念 前面在 JDBC API…

Python 2023年11月9日
0123
• #### VMware虚拟机安装Linux教程(超详细)

一、安装 VMware 官方正版VMware下载（16 pro）：https://www.aliyundrive.com/s/wF66w8kW9ac下载Linux系统镜像（阿里云盘…

Python 2023年11月7日
0135
• #### python合并相同索引列表_python如何将两个索引相同的列表的数据合并成一个新列表及绘图注意事项…

在进行测试的过程中，我们的样品数量有很多，但是不同的样品测试完就形成了一个独立的文件，不同样品会形成不同的文件，因此，有时在进行数据处理之前，需要将这些数据列表进行合并统一分析，本…

Python 2023年8月19日
0114
• #### 基于python的汽车信息爬取与可视化分析系统

温馨提示：文末有 CSDN 平台官方提供的学长 Wechat / QQ 名片 :) 项目简介 本项目利用网络爬虫技术从某汽车门户网站采集汽车数据，并利用 Flask + Echar…

Python 2023年8月9日
0144
• #### 注意力机制模块

1.SENet SENet为通道注意力机制模块 实现方式： 1.首先对输入进来的特征层进行一个 全局池化，将【b,c,h,w】 -> 【b,c,1,1】 2.对全局池化后的特…

Python 2023年9月30日
0117
• #### python Counter() 函数

1、以统计列表中的词频为例 2、寻找出现次数最多的 k 个数 刷 leetcode 时发现了可以很方便地统计词频的 Counter() 函数，有了这个函数就不用手动的使用 for …

Python 2023年8月2日
0101
• #### 项目实战-后台员工信息管理（增删改查登录与退出）

代码在以下~https://gitee.com/hedyyi/myobject.git 以下为笔记~ 项目搭建：1.创建项目： django-admin startproject …

Python 2023年8月4日
095
• #### 第七章用Python实现对Excel文件中的数据进行md5加密

文章目录 * – 获取数据 – 加密函数 – 数据加密 – 结尾 – 源码地址 本文可以学习到以下内容： 使用 pand…

Python 2023年8月15日
099
• #### 深度学习使用Float而不是Long/Int

DeepLearning 使用 Float、 Complex数据类型，而不使用 Int、 Long等类型 Int64(&#x5373;Long&#x7C7B;&am…

Python 2023年6月10日
0142
• #### Node.js躬行记（25）——Web自动化测试

网页在提测流转给 QA 后，如何能帮他们更有效而准确的完成测试，是我一直在思考的一个问题。 QA 他们会对网页编写测试用例，在提测之前会让我们将优先级最高的用例跑通，这在一定程度上…

Python 2023年10月13日
0108
• #### pytorch 数据类型 和 numpy 数据 相互转化

文章目录 * – + tensor to numpy + numpy to tensor tensor to numpy tensor数据在cpu上：如果tensor数…

Python 2023年8月23日
0115
• #### django学习-武沛齐教程【day5】

pip install django django-admin startproject mysite 注意：Pycharm可以创建。如果佣Pycharm创建，记得删除settin…

Python 2023年8月5日
0103
• #### Tensorflow (7) 图解 NumPy

1、Creating Arrays 2、Array Arithmetic data * 1.6: 3、Indexing 4、Aggregation min, max, and su…

Python 2023年8月25日
0102
• #### Python绘制520表白代码——永恒的心动

一年一度的520又来了，时光往复，祝陪在你身边的人始终如初。 之前整理过Python浪漫表白源码合集（爱心、玫瑰花、照片墙、星空下的告白）、 Original: https://b…

Python 2023年9月17日
0121
• #### redis使用：单例模式，链接池，不使用django-redis实现

1、在redis_con.py文件中写上： import redis POOL = redis.ConnectionPool(host=’192.168.137.10′,port=…

Python 2023年8月5日
0109