数据结构与算法
养只狗
这个作者很懒,什么都没留下…
展开
-
JavaScript实现优先队列的两种方法
优先队列中元素的添加和移除是基于优先级的,从优先队列中删除元素时,需要考虑优先权的限制。优先队列具有最高级先出(First In Largest Out)的行为特征。实现方法:1、按照优先级入队:// 封装需要入队的元素function queueElement(value,priority){ this.value = value; this.priority = priority;}// 封装优先队列function priorityQueue(){ // 声明队列.原创 2020-12-30 15:07:11 · 347 阅读 · 0 评论 -
数据结构与算法(经典排序)----计数排序
基本思想:1、首先遍历待排序数组a,找出待排序数组的最大最小值2、遍历a数组,将其值放在book数组的下标中,并使用book数组计数3、累加book数组,计算出前缀和4、反向遍历数组a,以保证稳定性,并将排好序的值放在b数组中代码:# include <iostream># include <algorithm># include <ctime># include <cstdlib># include <numeric>.原创 2020-07-01 09:40:43 · 2313 阅读 · 0 评论 -
数据结构与算法(经典排序)----希尔排序、桶排序
基本思想:1、选择一个增量序列 t1,t2,……,tk,其中 ti > tj, tk = 1;2、按增量序列个数 k,对序列进行 k 趟排序;3、每趟排序,根据对应的增量 ti,将待排序列分割成若干长度为 m 的子序列,分别对各子表进行直接插入排序。仅增量因子为 1 时,整个序列作为一个表来处理,表长度即为整个序列的长度。代码:#include <stdio.h>#include <time.h>#include <stdlib.h>#includ.原创 2020-06-27 11:53:14 · 123 阅读 · 0 评论 -
数据结构与算法(经典排序)----堆排序
基本思想:1、创建一个堆 H[0……n-1];2、把堆首(最大值)和堆尾互换;3、把堆的尺寸缩小 1,并调用 shift_down(0),目的是把新的数组顶端数据调整到相应位置;4、重复步骤 2,直到堆的尺寸为 1。代码:#include <stdio.h>#include <stdlib.h>#include <time.h>#include <iostream>using namespace std;int a[100],n;.原创 2020-06-17 11:47:09 · 121 阅读 · 0 评论 -
数据结构与算法(经典排序)----归并排序(递归与非递归版本)
基本思想:1、将待排序序列通过递归方法分为两半,直至每个区域只有一个元素2、申请空间,使其大小等于待排序序列的大小,该空间用来存放合并且排序后的序列;3、设定两个哨兵位置,分别为两个已经排序序列的起始位置;4、比较两个哨兵所指向的元素,选择相对小的元素放入到合并空间,并移动哨兵到下一位置;5、重复步骤 3 直到某一哨兵达到序列尾;6、将另一序列剩下的所有元素直接复制到合并序列尾。代码:#include <stdio.h>#include <stdlib.h>.原创 2020-06-15 22:22:58 · 97 阅读 · 0 评论 -
数据结构与算法(经典排序)----插入、选择、冒泡排序
插入排序基本思想:1、将第一待排序序列第一个元素看做一个有序序列,把第二个元素到最后一个元素当成是未排序序列。2、从头到尾依次扫描未排序序列,将扫描到的每个元素插入有序序列的适当位置。(如果待插入的元素与有序序列中的某个元素相等,则将待插入元素插入到相等元素的后面。)代码:#include <stdio.h>#include <time.h>#include <stdlib.h> int a[101],n;void insert_sort(int原创 2020-06-15 22:12:23 · 102 阅读 · 0 评论 -
数据结构与算法(经典排序)-----快速排序及其优化
基本思想:确定基准数从最右边的数开始遍历,找到第一个比基准数小的值再从最左边开始遍历,找到第一个比基准数大的值将找到的这两个数的位置进行交换继续遍历左右两边的数,直至左右两边遍历到同一个位置将基准数与这个位置上的数进行交换再重复以上步骤,处理左右两边的数字最后得到一串由小到大排列的数字代码:#include <stdio.h>#include <time.h>#include <stdlib.h> int a[101],n;void qui原创 2020-06-09 22:56:12 · 152 阅读 · 0 评论