- 博客(13)
- 资源 (2)
- 收藏
- 关注
原创 排序分析
上图来自:http://blog.csdn.net/hguisu/article/details/7776068快速排序直接插入排序希尔排序堆排序
2018-12-29 15:08:02 234
原创 堆排序
堆节点的访问通常堆是通过一维数组来实现的。在数组起始位置为0的情形中:父节点i的左子节点在位置(2*i+1); 父节点i的右子节点在位置(2*i+2); 子节点i的父节点在位置floor((i-1)/2); 下标从0开始,最后一个父节点位置为len/2-1 (len表示数组长度) ( (len - 1)-1)/2 len/2 -1 (...
2018-12-29 15:06:39 121
原创 快速排序 c/c++
选择基准数(为方便选取第一个元素),定义两个指针 i, ji从头开始扫, j从尾开始扫使得基准数左边的元素小于基准数, 基准数右边的元素大于基准数由于基准数选取的是第一个元素,j 先动, 找到小于基准数的值,i再动, 找到大于基准数的值,交换i和j的值直到i和j相遇, 则把相遇位置的值和基准数的值交换这时把数组看作只有三个元素,小于基准数,基准数, 大于基准数,此时是有序的...
2018-12-26 11:36:05 127
原创 直接插入排序 希尔排序
直接插入排序:对数组 int arr1[] ={1,4,2,7,9,8,3,6};第一个元素看作有序,后面元素看作无序:【1】4 2 7 9 8 3 6插入过程【】内表示有序,按照从小到大排序【1 4】 2 7 9 8 3 6 每次插入一个元素,插入4【1 2 4】 7 9 8 3 6 插入2,2与4比较,2比4小,交换2和4【1 2 4 7】 9 ...
2018-12-24 15:44:03 101
原创 Hash(散列)冲突解决 线性探测再散列和二次探测再散列
线性探测再散列例如 哈希函数为: H(key) = key %13,key 为关键字,采用开放地址法中的线性探测再散列解决冲突,依次输入11 个关键字,16,74,60,43,54,90,46,31,29,88,77,构造哈希表 如图,例如 16%13=3,将16放入3号位置,29%13 = 3,将29放入3号位置,而此时3号位已经有元素。就顺着表往后放,直到6...
2018-12-21 15:09:15 33463 12
原创 PTA 7-14 电话聊天狂人 二叉搜索树
7-14 电话聊天狂人 (25 分)给定大量手机用户通话记录,找出其中通话次数最多的聊天狂人。输入格式:输入首先给出正整数N(≤10^5),为通话记录条数。随后N行,每行给出一条通话记录。简单起见,这里只列出拨出方和接收方的11位数字构成的手机号码,其中以空格分隔。输出格式:在一行中给出聊天狂人的手机号码及其通话次数,其间以空格分隔。如果这样的人不唯一,则输出狂人中最小的...
2018-12-19 11:55:37 142
原创 二叉排序树
二叉排序树(Binary Sort Tree)性质:1.若它的左子树不空,则左子树上所有结点的值均小于它的根节点的值;2.若它的右子树不空,则右子树上所有结点的值均大于它的根节点的值;3.它的左右子树也分别为二叉排序树操作:1.插入,若一个元素比当前结点小,插入左边,反之插入右边2.删除 1)删除结点有左右孩子,找到这个结点右子树中最小的替代当前结点 ...
2018-12-17 23:44:56 232
原创 图的割点
//图的割点#include <bits/stdc++.h>using namespace std;int mp[505][505];int index,n,m;int low[505],num[505];int flag[505];int child;int root;void dfs(int cur,int father) { int chil=0; in...
2018-12-12 12:36:29 92
原创 单源最短路
//单源最短路 #include <bits/stdc++.h>using namespace std;int mp[505][505];int book[505];const int inf = 1e9+5;int dis[505];int n,m;void dijkstra(){ for(int i=1;i<=n-1;i++) { int m...
2018-12-12 12:35:40 116
原创 第十五届浙江大学宁波理工学院程序设计大赛(同步赛) D 状压dp
二进制枚举 这次补题目收货比较大的一题枚举所有状态,对每一个状态找符合要求的最大值第二个循环是找在这种状态下选了几个//D#include <bits/stdc++.h>#define ll long longusing namespace std;struct node{ ll peo; ll max;};node home[10];int m...
2018-12-08 23:11:19 143
原创 牛客练习赛33 A B
A签到问[a,b]区间有多少个数是x的倍数1到b中x倍数的个数减去 1到a-1中x的倍数即可#include<bits/stdc++.h>#define ll long longusing namespace std;int main(){ ll t,n,l,r,x; scanf("%lld",&t); while(t--) ...
2018-12-08 00:12:47 153
原创 数据结构第四次实验 矩阵快速转置与矩阵加法
#include <bits/stdc++.h>using namespace std; struct xyz { int i,j; int v;}Triple; struct xsjz{ // 存储系数矩阵 xyz data[100]; int mu,nu,tu; }TsMatrix; int oder[10][3] = {{1,2,12},{1,3...
2018-12-04 00:15:27 316
原创 哈尔滨理工大学软件与微电子学院第八届程序设计竞赛同步赛(高年级) 题解
传送门A从 1到 n 遍历若i 为7的倍数, 则加上m中7的倍数的个数若不是7的倍数, 加上 m除以7的个数#include<iostream>#include<cstdio>using namespace std;int main(){ long long n,m; scanf("%lld %lld",&n,&m...
2018-12-03 15:02:31 302
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人