数据结构-堆(Heap)

阅读全文

数据结构-哈希表(Hash Table)

哈希表
阅读全文

数据结构-链表(Linked List)

链表
阅读全文

数据结构-树(Binary Tree)

二叉树
阅读全文

数据结构-队列(Queue)

队列
阅读全文

数据结构-栈(Stack)

一、什么是栈?栈是一种数据结构,元素的进出方式类似于“子弹进出子弹夹”。二、栈的作用?哪里会用到栈呢?(我理解还不太深,以后会补充)三、栈的实现(C++、VS2017)1、新建三个文件,分别为MyStack.h、MyStack.cpp、StackDemo.cpp,代码分别如下,注释详细。MyStack.h#define MYSTACK_H class MyStack&nb
阅读全文

查找算法003-深度、广度优先搜索

DFS定义DFS(Depth-First-Search)深度优先搜索算法,是搜索算法的一种。是一种在开发爬虫早期使用较多的方法。它的目的是要达到被搜索结构的叶结点 。特点每次深度优先搜索的结果必然是图的一个连通分量。深度优先搜索可以从多点发起。如果将每个节点在深度优先搜索过程中的“结束时间”排序(具体做法是创建一个list,然后在每个节点的相邻节点都已被访问的情况下,将该节点加入list结尾,然后
阅读全文

五大常用算法思想:分治、动态规划、贪心、回溯、分支限定

转自:https://blog.csdn.net/yake827/article/details/52119469五大常用算法之一:分治一、基本概念   在计算机科学中,分治法是一种很重要的算法。字面上的解释是“分而治之”,就是把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题……直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并。这个技
阅读全文

查找算法002-二分查找

说明:元素必须是有序的,如果是无序的则要先进行排序操作。1、算法思想:也称为是折半查找,属于有序查找算法。用给定值k先与中间结点的关键字比较,中间结点把线形表分成两个子表,若相等则查找成功;若不相等,再根据k与该中间结点关键字的比较结果确定下一步查找哪个子表,这样递归进行,直到查找到或查找结束发现表中没有这样的结点。2、时间复杂度:O(log2n)3、C++ 实现://二分查找(折半查找),版本1
阅读全文

查找算法001-顺序查找

说明:顺序查找适合于存储结构为顺序存储或链接存储的线性表。1、基本思想:顺序查找也称为线形查找,属于无序查找算法。从数据结构线形表的一端开始,顺序扫描,依次将扫描到的结点关键字与给定值k相比较,若相等则表示查找成功;若扫描结束仍没有找到关键字等于k的结点,表示查找失败。2、时间复杂度:O(n)3、C++实现int SequenceSearch(int a[], int
阅读全文
首页 123 末页 共 30 条记录