数据结构与算法
我永远喜欢幽儿希卡
业精于勤荒于嬉,千金难买寸光阴
展开
-
【算法】c++ 冒泡排序
C++算法巩固——冒泡排序## 代码示例:比较数组相邻元素,如果第一个比第二个小,则将二者互换。 重复以上步骤,直到数组内元素由大到小排列。//1_冒泡排序void main() { int arr[] = { 1, 5, 6, 3, 6, 8, 9, 2, 4 }; //输出 cout << "排序前 :" << endl; for (int i = 0; i < sizeof(arr) / sizeof(arr[0]); i++) { cou原创 2020-11-03 17:36:21 · 141 阅读 · 0 评论 -
【数据结构】Java集合框架入门(一)
Java集合框架入门 ——基础概述目录## 结构简图## 集合选取原则## 结构简图: Collection:接口 |---- List接口 | |---- Linkedlist //双向链表,非同步,便于操作 ...原创 2019-03-06 17:39:17 · 395 阅读 · 0 评论 -
【数据结构】栈(二)
栈 ——应用练习:有效的括号目录## 题目简述:## 题解举例:## 题目简述:## 题解举例:(Javaclass Solution { public boolean isValid(String s) { // 实例化栈 Stack<Character> stack = new Stack<&...原创 2019-04-04 16:00:45 · 161 阅读 · 0 评论 -
【数据结构】队列(一)
队列 ——数组队列目录## 概念简述## 特点## 原理实现## 时间复杂度分析## 概念简述: 队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作(出队),而在表的 后端(rear)进行插入操作(入队),进行插入操作的端称为队尾,进行删除操作的端称为队首。队列中 没有元素时,称为空队...原创 2019-04-06 12:24:20 · 206 阅读 · 0 评论 -
【算法】时间复杂度(一)
时间复杂度 ——简述与分析目录## 概念简述## 明确## 举例分析## 理论分析## 概念简述:算法复杂度分为时间复杂度和空间复杂度。时间复杂度是指执行算法所需要的计算工作量,在计算机 科学中,算法的时间复杂度是一个函数,它定性描述了该算法的运行时间,是一个关于代表算法输入值 的字符串的长度的函数。时间复杂度常用大O符号表述,如:O(1)...原创 2019-04-10 19:07:37 · 263 阅读 · 0 评论 -
【数据结构】队列(二)
队列 ——循环队列目录## 引入## 概念简述## 特点## 原理实现## 时间复杂度分析## 引入: 通过前面对数组队列的学习我们可以发现,当进行出队操作时,队列中的每一个元素都需要向前挪动一位, 也正因此出队操作的时间复杂度为O(n)。那么可不可以在进行出队操作时保持队内元素不动?这样的话时间 复杂度将变为O(1...原创 2019-04-08 19:24:24 · 273 阅读 · 0 评论 -
【数据结构】栈(一)
栈 ——基础入门目录## 概念简述## 特点## 应用## 原理实现## 时间复杂度分析## 概念简述: 一种只能从一端添加/取出元素的线性结构,相比于数组操作较少,对应的操作是数组的子集,可以简单理解 为就是一个操作受限并且元素排列存放的数组## 特点: 1. 只能从一端进行操作(栈顶),即只能从...原创 2019-04-03 16:19:41 · 171 阅读 · 0 评论 -
【数据结构】二叉树(一)
二叉树 ——基本知识目录## 概念## 基本类型## 特点## 分类## 应用## 概念: 二叉树是每个结点最多有两个子树的树结构。通常子树被分为“左子树”(left subtree)和“右子树”(right subtree)。 【注意】: 二叉树并不是树的特殊情形 1. 树中结点的最大度数没有限制,...原创 2019-04-30 18:28:48 · 256 阅读 · 0 评论