Skip to content

Commit 2de9173

Browse files
committed
Initial add files.
1 parent 5c0260e commit 2de9173

38 files changed

+9645
-0
lines changed

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,3 +102,6 @@ venv.bak/
102102

103103
# mypy
104104
.mypy_cache/
105+
106+
# jupyter
107+
.ipynb_checkpoints
Lines changed: 106 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,106 @@
1+
{
2+
"cells": [
3+
{
4+
"cell_type": "markdown",
5+
"metadata": {},
6+
"source": [
7+
"# 数据结构概述 \n",
8+
"\n",
9+
"https://www.tutorialspoint.com/python/python_data_structure_introduction.htm\n",
10+
"\n",
11+
"数据结构是计算机科学的基本概念,有助于编写任何语言的高效程序。 Python是一种高级,解释,交互式和面向对象的脚本语言,与其他编程语言相比,我们可以用更简单的方式研究数据结构的基础知识。 在本章中,我们将研究一般常用数据结构的简短概述,以及它们与某些特定python数据类型的关系。还有一些特定于python的数据结构被列为另一个类别。 \n",
12+
"\n",
13+
"一般数据结构 计算机科学中的各种数据结构大致分为以下两类。我们将在后续章节中详细讨论下面的每个数据结构。 \n",
14+
"\n",
15+
"## 1.线性数据结构\n",
16+
"\n",
17+
"这些是以顺序方式存储数据元素的数据结构。 \n",
18+
"\n",
19+
"### 数组Array\n",
20+
"\n",
21+
"它是与数据元素的索引配对的数据元素的顺序排列。\n",
22+
"\n",
23+
"### 链表Linked List\n",
24+
"\n",
25+
"每个数据元素都包含指向另一个元素的链接以及其中的数据。 \n",
26+
"\n",
27+
"### 栈Stack\n",
28+
"\n",
29+
"它是一种数据结构,仅遵循特定的操作顺序。 LIFO(last in First Out,后进先出)或者FILO(First in Last Out先进先出)。 \n",
30+
"\n",
31+
"### 队列Queue\n",
32+
"\n",
33+
"它与Stack类似,但操作顺序仅为FIFO(First In First Out,先进先出)。 \n",
34+
"\n",
35+
"### 矩阵Matrix\n",
36+
"\n",
37+
"二维数据结构,其中数据元素由一对索引引用。 \n",
38+
"\n",
39+
"## 2.非线性数据结构\n",
40+
"\n",
41+
"这些数据结构中没有数据元素的顺序链接。任何一对或一组数据元素都可以相互链接,并且可以在没有严格序列的情况下访问。\n",
42+
"\n",
43+
"### 二叉树Binary Tree\n",
44+
"\n",
45+
"这是一种数据结构,其中每个数据元素可以连接到最多两个其他数据元素,并以根节点开始。 \n",
46+
"\n",
47+
"### 堆Heap\n",
48+
"\n",
49+
"这是树数据结构的一种特殊情况,其中父节点中的数据严格大于/等于子节点或严格小于其子节点。 \n",
50+
"\n",
51+
"若母节点的值恒小于等于子节点的值,此堆积称为最小堆积(min heap);反之,若母节点的值恒大于等于子节点的值,此堆积称为最大堆积(max heap)。在堆积中最顶端的那一个节点,称作根节点(root node),根节点本身没有母节点(parent node)。\n",
52+
"\n",
53+
"堆的实现通过构造二叉堆(binary heap),实为二叉树的一种;由于其应用的普遍性,当不加限定时,均指该数据结构的这种实现。这种数据结构具有以下性质。\n",
54+
"\n",
55+
"- 任意节点小于(或大于)它的所有后裔,最小元(或最大元)在堆的根上(堆序性)。\n",
56+
"- 堆总是一棵完全树。即除了最底层,其他层的节点都被元素填满,且最底层尽可能地从左到右填入。\n",
57+
"\n",
58+
"将根节点最大的堆叫做最大堆或大根堆,根节点最小的堆叫做最小堆或小根堆。常见的堆有二叉堆、斐波那契堆等。\n",
59+
"\n",
60+
"### 散列表/哈希表Hash Table\n",
61+
"\n",
62+
"它是一种数据结构,由使用散列函数相互关联的数组组成。它使用键而不是数据元素的索引来检索值。 \n",
63+
"\n",
64+
"### 图Graph\n",
65+
"\n",
66+
"它是顶点和节点的排列,其中一些节点通过链接相互连接。 \n",
67+
"\n",
68+
"## 3.python特定数据结构\n",
69+
"\n",
70+
"这些数据结构特定于python语言,它们为在python环境中存储不同类型的数据和更快的处理提供了更大的灵活性。 \n",
71+
"### 列表List\n",
72+
"\n",
73+
"它类似于数组,但数据元素可以是不同的数据类型。您可以在python列表中同时包含数字和字符串数据。 \n",
74+
"\n",
75+
"### 元组Tuple\n",
76+
"\n",
77+
"元组类似于列表,但它们是不可变的,这意味着元组中的值无法修改,只能读取。 \n",
78+
"\n",
79+
"### 字典Dictionary\n",
80+
"\n",
81+
"字典包含键值对作为其数据元素。 在接下来的章节中,我们将学习如何使用Python实现每个数据结构的细节。"
82+
]
83+
}
84+
],
85+
"metadata": {
86+
"kernelspec": {
87+
"display_name": "Python 3 (system-wide)",
88+
"language": "python",
89+
"name": "python3"
90+
},
91+
"language_info": {
92+
"codemirror_mode": {
93+
"name": "ipython",
94+
"version": 3
95+
},
96+
"file_extension": ".py",
97+
"mimetype": "text/x-python",
98+
"name": "python",
99+
"nbconvert_exporter": "python",
100+
"pygments_lexer": "ipython3",
101+
"version": "3.6.8"
102+
}
103+
},
104+
"nbformat": 4,
105+
"nbformat_minor": 2
106+
}

0 commit comments

Comments
 (0)