当前位置: 首页 > news >正文

网站开发项目概述公司一个人做网站

网站开发项目概述,公司一个人做网站,怎样在阿里巴巴上做网站,凡科网站后台数据结构 —— 堆的实现#xff08;顺序表#xff09; 一.堆1.1堆的定义及结构1.1.1.堆的定义1.1.2.堆的性质1.1.3.堆的结构 二.堆的实现2.1.头文件的实现 —— #xff08;Heap.h#xff09;2.2.源文件的实现 —— #xff08;Heap.c#xff09;2.2.1.小堆的源文件2.2.2… 数据结构 —— 堆的实现顺序表 一.堆1.1堆的定义及结构1.1.1.堆的定义1.1.2.堆的性质1.1.3.堆的结构 二.堆的实现2.1.头文件的实现 —— Heap.h2.2.源文件的实现 —— Heap.c2.2.1.小堆的源文件2.2.2.大堆的源文件 2.3.源文件的实现 —— test.c 三.实际数据测试展示3.1.插入数据3.1.1.小堆插入 ——调试窗口展示3.1.2.大堆插入 ——调试窗口展示 3.2 打印前k个最值 ——小型top-k问题3.2.1.小堆打印前k个最小值 —— 运行展示3.2.2.大堆打印前k个最大值 —— 运行展示 3.3简单类堆排序 ——非真堆排序3.3.1.类小堆排序 ——运行展示3.3.2.类大堆排序 ——运行展示 一.堆 1.1堆的定义及结构 1.1.1.堆的定义 堆就是以二叉树的顺序存储方式来存储元素同时又要满足父亲结点存储数据都要大于儿子结点存储数据也可以是父亲结点数据都要小于儿子结点数据的一种数据结构。堆只有两种即大堆和小堆大堆就是父亲结点数据大于儿子结点数据小堆则反之。 1.1.2.堆的性质 堆中某个节点的值总是不大于或不小于其父节点的值 堆总是一棵完全二叉树。 1.1.3.堆的结构 用图画展示就如下图所示 (1).小堆展示 (2).大堆展示 二.堆的实现 2.1.头文件的实现 —— Heap.h Heap.h#pragma once#includestdio.h #includestdlib.h #includestdbool.h #includeassert.h//小堆 typedef int HPDataType; typedef struct Heap {HPDataType* a;int size;int capacity; }HP;//创建/销毁 void HeapInit(HP* php); void HeapDestroy(HP* php); //插入/删除 void HeapPush(HP* php, HPDataType x); void HeapPop(HP* php); //获取堆顶元素 HPDataType HeapTop(HP* php); //判空/统计堆内元素个数 bool HeapEmpty(HP* php); int HeapSize(HP* php);2.2.源文件的实现 —— Heap.c 2.2.1.小堆的源文件 Heap.c#includeHeap.h//小堆 //创建/销毁 void HeapInit(HP* php) {assert(php);php-a NULL;php-size 0;php-capacity 0; } void HeapDestroy(HP* php) {assert(php);free(php-a);php-a NULL;php-size php-capacity 0; }//交换函数 void Swap(HPDataType* p1, HPDataType* p2) {HPDataType tmp *p1;*p1 *p2;*p2 tmp; }//向上调整函数 void AdJustUp(HPDataType* a, int child) {int parent (child - 1) / 2;while (child 0){if (a[child] a[parent]){Swap(a[child], a[parent]);child parent;parent (child - 1) / 2;}else{break;}} } //插入/删除 void HeapPush(HP* php, HPDataType x) {assert(php);if (php-size php-capacity)//判断数组空间不够就扩容{int newcapacity php-capacity 0 ? 4 : php-capacity * 2;HPDataType* tmp (HPDataType*)realloc(php-a, newcapacity * sizeof(HPDataType));if (tmp NULL){perror(realloc fail);exit(-1);}php-a tmp;php-capacity newcapacity;}php-a[php-size] x;php-size;AdJustUp(php-a, php-size - 1);} //向下调整函数 void AdJustDown(HPDataType* a, int size, int parent) {int child parent * 2 1;while (child size){if (child1 size a[child 1] a[child]){child;}if (a[child] a[parent]){Swap(a[child], a[parent]);parent child;child parent * 2 1;}else{break;}} } void HeapPop(HP* php) {assert(php);Swap(php-a[0], php-a[php-size - 1]);php-size--;AdJustDown(php-a, php-size, 0); } //获取堆顶元素 HPDataType HeapTop(HP* php) {assert(php);assert(php-size 0);return php-a[0];} //判空/统计堆内元素个数 bool HeapEmpty(HP* php) {assert(php);return php-size 0; } int HeapSize(HP* php) {assert(php);assert(php-size 0);return php-size; }2.2.2.大堆的源文件 Heap.h#includeHeap.h//大堆 //创建/销毁 void HeapInit(HP* php) {assert(php);php-a NULL;php-size 0;php-capacity 0; } void HeapDestroy(HP* php) {assert(php);free(php-a);php-a NULL;php-size php-capacity 0; }//交换函数 void Swap(HPDataType* p1, HPDataType* p2) {HPDataType tmp *p1;*p1 *p2;*p2 tmp; }//向上调整函数 void AdJustUp(HPDataType* a, int child) {int parent (child - 1) / 2;while (child 0){if (a[child] a[parent]){Swap(a[child], a[parent]);child parent;parent (child - 1) / 2;}else{break;}} } //插入/删除 void HeapPush(HP* php, HPDataType x) {assert(php);if (php-size php-capacity)//判断数组空间不够就扩容{int newcapacity php-capacity 0 ? 4 : php-capacity * 2;HPDataType* tmp (HPDataType*)realloc(php-a, newcapacity * sizeof(HPDataType));if (tmp NULL){perror(realloc fail);exit(-1);}php-a tmp;php-capacity newcapacity;}php-a[php-size] x;php-size;AdJustUp(php-a, php-size - 1);} //向下调整函数 void AdJustDown(HPDataType* a, int size, int parent) {int child parent * 2 1;while (child size){if (child1 size a[child 1] a[child]){child;}if (a[child] a[parent]){Swap(a[child], a[parent]);parent child;child parent * 2 1;}else{break;}} } void HeapPop(HP* php) {assert(php);Swap(php-a[0], php-a[php-size - 1]);php-size--;AdJustDown(php-a, php-size, 0); } //获取堆顶元素 HPDataType HeapTop(HP* php) {assert(php);assert(php-size 0);return php-a[0];} //判空/统计堆内元素个数 bool HeapEmpty(HP* php) {assert(php);return php-size 0; } int HeapSize(HP* php) {assert(php);assert(php-size 0);return php-size; }2.3.源文件的实现 —— test.c test.c#includeHeap.h//小堆 int main() {HP ph;HeapInit(ph);int a[] { 4,6,2,1,5,8,2,9};for (int i 0; i (sizeof(a) / sizeof(int)); i){HeapPush(ph, a[i]);//插入}//获取前k个最小值/*int k 3;while (k--){printf(%d\n, HeapTop(ph));HeapPop(ph);}*///小堆排序while (!HeapEmpty(ph)){printf(%d , HeapTop(ph));HeapPop(ph);}return 0; }//大堆 //int main() //{ // HP ph; // HeapInit(ph); // int a[] { 4,6,2,1,5,8,2,9 }; // for (int i 0; i (sizeof(a) / sizeof(int)); i) // { // HeapPush(ph, a[i]); // } // //前k个最大值 // /*int k 3; // while (k--) // { // printf(%d\n, HeapTop(ph)); // HeapPop(ph); // }*/ // //大堆排序 // while(!HeapEmpty(ph)) // { // printf(%d , HeapTop(ph)); // HeapPop(ph); // } // return 0; //}三.实际数据测试展示 3.1.插入数据 3.1.1.小堆插入 ——调试窗口展示 3.1.2.大堆插入 ——调试窗口展示 3.2 打印前k个最值 ——小型top-k问题 3.2.1.小堆打印前k个最小值 —— 运行展示 3.2.2.大堆打印前k个最大值 —— 运行展示 3.3简单类堆排序 ——非真堆排序 3.3.1.类小堆排序 ——运行展示 3.3.2.类大堆排序 ——运行展示
http://wiki.neutronadmin.com/news/105781/

相关文章:

  • 沈阳 网站制作报价网页制作自学教程
  • 广西建设厅招投标中心网站如何在百度上发布自己的广告
  • 安徽省住房与城乡建设网站网站制作一年多少钱
  • 广东广州免费建站营销型企业网站有哪些平台
  • 质量好网站建设商家wordpress cdn 非插件
  • 石家庄建设网站公司恩施网站建设教程
  • 建设网站要多少钱网站 数据库 sql 导入数据库文件
  • 四川网站建设电话咨询望野原文及翻译赏析
  • 一个网站建设需要多少人力烟台网站建设地址
  • 北京学校网站建设发新闻稿平台
  • 房产信息网准确吗义乌网站建设优化排名
  • 北京搜狗建网站的电话wordpress自助发卡
  • 舟山建设信息港网站商业网站建设设计装饰
  • 浙江标力建设集团网站绵阳住房和城乡建设厅官方网站
  • 中国版动漫网站模板广州工程建设信息网
  • 网站空间送数据库网站开发kpi
  • 网站2019建设目标新媒体营销推广方案
  • 兴义市 网站建设北京建设高端网站
  • 网站 留言板 制作家政公司网站建设多少钱
  • 艺商网站微信哪个公司开发
  • 宁波网站建设方案咨询钓鱼网站在线下载
  • 基于asp.net的视频网站开发网站设计中新闻版块怎么做
  • 网站开发的例子百度搜索热度指数
  • 临海钢结构设计网站医院网站建设好处
  • 大鹏新网站建设南宁seo企业优化
  • 深圳网站建设方案维护在阿里巴巴上怎样做网站
  • 免费做自己的网站thinkphp开源cms系统
  • 微信公众平台做微网站吗施工企业安全生产评价表下载
  • 厦门网站建设公司电话快递网站策划怎么做ppt
  • 水果网站建设计划书全球门户中企动力