数据结构与算法
文章平均质量分 91
基于javascript的数据结构与算法学习与实践
FloraCat_染小白
前端空城狮爱GIS可视化
展开
-
【算法·递归与分治】二分查找
二分查找 是在已排好序的n个元素数组arr [0:n-1] 中找某一特定元素goal。 不断的将数组对半分割,将中间元素与目标元素相比较。 注意:①元素是排好序的。 ②偶数元素对半分割舍弃小数,是前一个元素。 #include #include //sort函数对应的头文件 #define MAX 101 using namespace std; int原创 2015-09-19 20:57:56 · 530 阅读 · 0 评论 -
【算法学习】DFS与BFS
一。深度优先搜索 深度优先搜索会走遍所有的路径,并且每次走到死胡同就代表一条完整路径的形成。 概括来说,DFS是一种枚举所有完整路径以遍历所有情况的搜索方法。 可以使用栈来实现,也可以使用递归实现。 一般情况下非递归要比递归麻烦。不过使用递归的时候系统会调用一个叫系统栈的东西来存放递归中每一层的状态。 举个栗子: 有n件物品,每件物品的重量为w[i],价值为c[i]。现在需要选原创 2017-11-25 10:22:45 · 398 阅读 · 0 评论 -
【算法学习】二叉树
一。递归定义 ① 要么二叉树没有根结点,是一个空树 ②要么二叉树由根结点、左子树、右子树组成,且左子树和右子树都是二叉树 二叉树的许多算法都需要直接用到这个递归的定义来实现算法。 二。存储结构 使用链表来定义,定义方式如下: struct node{ typename data; //数据域 node* lchild; //指向左子树根结点的指针 nod原创 2017-11-25 22:24:52 · 258 阅读 · 0 评论 -
【算法学习笔记】二叉树遍历
一。 先序遍历 根结点->左子树->右子树 [cpp] view plain copy void preorder(node* root){ if(root == NULL){ return; //到达空树,递归边界 } printf("%d\n", root->data原创 2017-11-26 17:27:19 · 210 阅读 · 0 评论