零、以下知识皆来自网络学习整理。用于对知识的整理和巩固 一、逻辑结构与物理结构 逻辑结构包括集合结构、线性结构、树形结构和图形结构 物理结构主要是数据得存储问题 二、存储结构 存储结构分为顺序存储结构和链式存储结构,前者逻辑、物理结构一致,后者则不一定 三、算法 有输入、输出,具有有穷性、可行性和确 ...
分类:
编程语言 时间:
2019-07-19 23:52:53
阅读次数:
220
一、 算法设计的要求: 为什么要学算法? 在此程序中,要综合运用数据结构和算法。数据结构是加工对象,语言是工具,变成需要合适的方法,但没有一个合格的算法,我们称不上合格的开发程序。所以,算法是程序设计的灵魂和核心。 正确性:算法应当满足具体问题的需求。 “正确”一词的含义在通常的用法中有很大的差别, ...
分类:
编程语言 时间:
2019-07-16 10:59:04
阅读次数:
88
一、 数据结构和算法关系 为什么要学数据结构和算法? 通常,计算机解决问题的步骤如下: 在数学模型中,计算机处理的对象之间通常存在着一种最简单的线性关系,这类数学模型就是线性的数据结构。著名计算机科学家沃斯(Nikiklaus Wirth)提出一个公式:程序=数据结构+算法。数据结构就是编程的思维, ...
分类:
编程语言 时间:
2019-07-16 10:50:11
阅读次数:
111
工作一年多了,大学学的数据结构和算法都忘得差不多了。于是想补补数据结构知识,并且刷一下剑指offer的一些面试题。首要问题就是装个C语言的运行环境,大学学C语言和C++的时候都是用的VC++6.0或者CodeBlocks,优点是不需要配置环境,但是缺点也很明显,就是代码没智能提示,编辑器UI风格还是 ...
分类:
编程语言 时间:
2019-07-01 01:11:23
阅读次数:
382
红黑树规则: 1、根节点与叶节点都是黑色节点 2、每个红色节点的两个子节点都是黑色节点,反之,不做要求,换句话说就是不能有连续两个红色节点 3、从根节点到所有叶子节点上的黑色节点数量是相同的 一般对红黑树的讲述都是先给出这样的定义,这样想对不太容易理解的,而在算法4一书中,直接跳过这些规则,而讲述了 ...
分类:
编程语言 时间:
2019-06-29 14:56:19
阅读次数:
103
一、首先我们来熟悉一下跳表(数据结构和算法) 参考资料: https://www.cnblogs.com/seniusen/p/9870398.html https://blog.csdn.net/u010425776/article/details/54890215 跳表的由来:作用:存储有序序列 ...
分类:
其他好文 时间:
2019-06-26 00:42:36
阅读次数:
108
前言 本周花了大量的时间再研究算法,这个东西不是一下子就能搞懂的,可能花了大量的时间的看不到见效,也就是得不到一些有效的反馈,这也是我现在比较苦恼的问题,是继续先研究数据结构和算法,还是直接刷leetcode呢?我也不清晰,两眼摸黑,能怎么办呢?学呗,没准一年后就入门了,每天啃一点,没准哪天突然领悟 ...
分类:
编程语言 时间:
2019-06-23 19:03:59
阅读次数:
127
堆的定义 必须是一个完全二叉树(除了最后一层, 每个节点都有两个子节点, 最后一层只能缺少若干个右节点) 堆中每一个节点的值都必须` =(大顶堆)或 0: parent = int(i / 2) if self.heap_list[i] = 1: top_value = self.heap_list ...
分类:
编程语言 时间:
2019-06-23 18:59:58
阅读次数:
95
[TOC] 数据结构与算法之排序(冒泡,选择,插入) 为什么学习数据结构与算法: 计算机重要的几门课: 1.数据结构和算法 2.网络 3.操作系统 4.计算组成原理 数据结构与算法: 算法: 衡量算法的标准: 时间复杂度:就是程序代码执行的大概次数 小结: 时间复杂度是用来估计算法运行时间的一个式子 ...
分类:
编程语言 时间:
2019-06-23 18:59:23
阅读次数:
129
`二叉查找树(Binary Search Tree) BST`,必须具有以下性质: 若任意节点的左子树不空,则左子树上所有节点的值均 它的根结点的值 若任意节点的右子树不空,则右子树上所有节点的值均 它的根结点的值 任意节点的左、右子树也分别为二叉查找树 没有键值相等的节点 在二叉查找树中查找节点时 ...
分类:
编程语言 时间:
2019-06-23 18:59:09
阅读次数:
106