算法
文章平均质量分 76
foooooods
我不懒啊
展开
-
排序算法(堆排序)
堆排序1.什么是堆堆通常是一个可以被看做一棵完全二叉树的数组对象。堆总是满足下列性质:堆中某个节点的值总是不大于或不小于其父节点的值; 堆总是一棵完全二叉树。堆的定义如下:n个元素的序列{k1,k2,ki,…,kn}当且仅当满足下关系时,称之为堆。 (ki <= k2i,ki <= k2i+1)或者(ki >= k2i,ki >= k2i+1),...原创 2019-10-26 11:54:50 · 212 阅读 · 0 评论 -
两道算法题
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 ...原创 2019-10-20 20:48:30 · 104 阅读 · 0 评论 -
合并两个有序数组
题目:给定两个有序数组,nums1和nums2,将nums2合并到nums1中,使得nums1成为一个有序数组(假设nums1)有足够的空间思路:(1)申请一个新的数组,从前往后同时扫描两个数组,每次取两个数组中较小的元素,并将相应数组的扫描指针右移一步题目假设nums1有足够的空间,则可以直接将Nums2中的数据合并到nums1中数组的合并结果和原始数组Nums1的元素需要同时存...原创 2019-10-18 21:09:27 · 220 阅读 · 0 评论 -
冒泡排序的通用方法
1.先说一下什莫是冒泡排序冒泡排序(Bubble Sort)冒泡排序算法的原理如下: 1.比较相邻的元素。如果第一个比第二个大,就交换他们两个。 2.对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。 3.针对所有的元素重复以上的步骤,除了最后一个。 4.持续每次对越来越少的元素重复...原创 2018-06-06 09:29:08 · 180 阅读 · 0 评论 -
线索二叉树
线索二叉树:(不经常用,就是把空指针利用起来)顺便说一下遍历二叉树的方法(递归,用栈,线索二叉树,还有二叉排序树)提出问题:线索二叉树的定义和结构,通过遍历二叉树可得到节点的一个线性序列,在线性序列中,很难容求得某个节点的直接前驱和后继,,但是在二叉树上只能找到节点的左孩子,右孩子,节点的前驱和后继只有在遍历过程中才能得到,那末,如何保存遍历二叉树后动态得到的线性序列以便快速找到某个节...原创 2019-01-21 21:20:46 · 2081 阅读 · 0 评论 -
BST(二叉排序树)
二叉查找树(Binary Search Tree),(又:二叉搜索树,二叉排序树)它或者是一棵空树,或者是具有下列性质的二叉树: 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值; 若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值; 它的左、右子树也分别为二叉排序树。查询二叉搜索树:递归的:tree_search(x,k)if(x==NULL |...原创 2019-01-25 15:57:34 · 1226 阅读 · 0 评论 -
哈希表
自己照着书现学的1.什莫是哈希表 在结构中查找一个记录时都要经过比较,这一类查找方法建立在“比较”的基础上。顺序查找时比较的结果为"="和“!=”两种可能在折半查找,二叉排序树查找,和B-树查找时,比较的结果为“<”"="">"三种可能,查找的效率依赖于查找过程中的所进行的比较次数。 理想的情况下是希望不经过任...原创 2019-03-08 00:23:23 · 123 阅读 · 0 评论 -
n后问题
1.问题描述在n*n格的棋盘上放置彼此不受攻击的n个皇后,任何两个皇后不放在同一行同一列,同一斜线上,问有多少种放法。2.算法设计用n元组x[1:n]表示n后问题的解,其中x[i],表示皇后i放在第i行第x[i]列,若两个皇后分别放在(i,j),(k,l)位置,且i-j=k-l或i+j=k+l,说明这两个皇后处于同一斜线上,以上连个方程等价于i-k=j-l 或i-l=k-j;因此...原创 2019-07-20 18:27:53 · 1746 阅读 · 1 评论