计算机程序设计 = 数据结构 + 算法 数据结构研究变量的管理方式,算法研究解决特定问题的方法。 数据结构分三个层次:逻辑结构(抽象层)、物理结构(结构层)、运算结构(实现层)。 1.1 数据结构的逻辑结构 逻辑结构指人…
标签:数据结构与算法
数据结构基础概念篇
数据结构 一些概念 数据结构就是研究数据的逻辑结构和物理结构以及它们之间相互关系,并对这种结构定义相应的运算,而且确保经过这些运算后所得到的新结构仍然是原来的结构类型。 数据:所有能被输入到计算机中,且能被计算机处理的符…
面试题—将两个升序排列的链表合并成一个升序链表
将两个升序排列的链表合并成一个有序链表 例如: head1->2->3->5->6->7->9->11 hea…
最小化曼哈顿距离
曼哈顿距离 曼哈顿距离和欧式距离一样是一种距离度量标准,不同的是它定义在L1范数下,也即用绝对值来衡量两点之间的距离。在一维空间下,曼哈顿距离定义如下: d ( x , y ) = ∣ x − y ∣ d(x,y)=|x…
堆排序和大顶堆小顶堆
什么是堆? 堆是一种非线性结构,可以把堆看作一个数组,也可以被看作一个完全二叉树,通俗来讲堆其实就是利用完全二叉树的结构来维护的一维数组但堆并不一定是完全二叉树 按照堆的特点可以把堆分为大顶堆和小顶堆 大顶堆:每个结点的…
【数据结构与算法】简单排序(冒泡排序、选择排序、插入排序)完整思路,并用代码封装排序函数
本系列文章【数据结构与算法】所有完整代码已上传 github,想要完整代码的小伙伴可以直接去那获取,可以的话欢迎点个Star哦~下面放上跳转链接 https://github.com/Lpyexplore/structu…
k-近邻算法的优缺点及拓展思考
//2019.08.03晚#k-近邻算法的拓展思考与总结1、k-近邻算法是一种非常典型的分类监督学习算法,它可以解决多分类的问题;另外,它的整体思想简单,效果强大。它也可以用来解决回归问题,使用的库函数为KNeighbo…
【判空】判断文件夹里面有没有文件,递归查询,java代码
思路: 进入根目录,遍历所有文件,如果发现有文件夹就进入再遍历该目录,以此类推,在遍历过程中,发现任一目录有非文件夹文件就返回true,然后一经返现有文件就不会再进入任何目录,每一层直接返回true。 递归调用算法如下:…
数据结构:八大数据结构分类
本文目录: 数据结构分类 1、数组 2、栈 3、队列 4、链表 5、树 6、散列表 7、堆 8、图 数据结构分类 数据结构是指相互之间存在着一种或多种关系的数据元素的集合和该集合中数据元素之间的关系组成 。 常用的数据结…
重温数据结构:二叉树的常见方法及三种遍历方式 Java 实现
读完本文你将了解到: 什么是二叉树 Binary Tree 两种特殊的二叉树 满二叉树 完全二叉树 满二叉树 和 完全二叉树 的对比图 二叉树的实现 用 递归节点实现法左右链表示法 表示一个二叉树节点 用 数组下标表示法…
虚基类——(1)定义人员类Person: 公有成员:姓名(Name); 保护成员:性别(Gender),年龄(Age); 构造函数和析构函数...
题目描述: (1)定义人员类Person: 公有成员:姓名(Name); 保护成员:性别(Gender),年龄(Age); 构造函数和析构函数 (2) 从人员类Person派生学生记录类Stude…
多维数组
多维数组 一个n维数组可以看成是由“n-1维数组”的数据元素构成的一维数组,因此,多维数组可以看成是一种特殊的线性表,其特殊性在于表中的元素本身也是一种线性表。数组一旦被定义,它的维数和维界就不再改变,因此,除了结构的初…