
数据结构与算法
ispurs
努力去做,静等结果发生!
展开
-
常见的7种排序算法
1、冒泡排序最简单的一种排序算法。假设长度为n的数组arr,要按照从小到大排序。则冒泡排序的具体过程可以描述为:首先从数组的第一个元素开始到数组最后一个元素为止,对数组中相邻的两个元素进行比较,如果位于数组左端的元素大于数组右端的元素,则交换这两个元素在数组中的位置,此时数组最右端的元素即为该数组中所有元素的最大值。接着对该数组剩下的n-1个元素进行冒泡排序,直到整个数组有序排列。算法的时间复...原创 2018-06-10 11:37:21 · 320911 阅读 · 26 评论 -
二叉树
一、二叉树的定义二叉树(Binary Tree)是n(n>= 0)个结点的有限集合,该集合或者为空集(称为空二叉树),或者由一个根节点和两颗互不相交的、分别称为根节点的左子树和右子树的二叉树组成。/*二叉树的二叉链表存储表示*/typedef struct BiTNode{ int data; struct BiTNode * left, * right; BiTNode(int ...原创 2018-07-10 09:58:27 · 603 阅读 · 0 评论 -
组合问题和全排列
1.组合问题问题描述:从n个元素中选出k个元素,列出所有可能的情况template<typename T>void combineCore(vector<T> data, int n, int k, int start, vector<T> & v, vector<vector<T>> & res){ if...原创 2018-09-05 21:40:57 · 382 阅读 · 0 评论