1.Describe a Θ(n lg n)-time algorithm that, given a set S of n integers and another integer x, determines whether or not there exist two elements in S whose sum is exactly x. (Implement exercise 2.3-7.) #include<stdio.h> #include<stdlib.h> void merge(int arr[],int low,int mid,int high){ int i,k; int *tmp=(int*)malloc((high-low+1)*sizeof(int)); int left_low=low; int left_high=mid; int right_low=mid+1; int right_high=high; for(k=0;left_low<=left_high&&right_low<=right_high;k++) { if(arr[left_low]<=arr[right_low]){ tmp[k]=arr[left_low++]; } else{ tmp[k]=arr[right_low++]; } } if(left_low<=left_high){ for(i=left_low;i<=left_high;i++){ tmp[k++]=arr[i]; } } if(right_low<=right_high){ for(i=right_low;i<=right_high;i++) tmp[k++]=arr[i]; } for(i=0;i<high-low+1;i++) arr[low+i]=tmp[i]; } void merge_sort(int a[],int p,int r){ int q; if(p<r){ q=(p+r)/2; merge_sort(a,p,q); merge_sort(a,q+1,r); merge(a,p,q,r); } } int main(){ int a[8]={3,5,8,6,4,1,1}; int i,j; int x=10; merge_sort(a,0,6); printf("after Merging-Sort:\n"); for(i=0;i<7;i++){ printf("%d",a[i]); } printf("\n"); i=0;j=6; do{ if(a[i]+a[j]==x){ printf("exist"); break; } if(a[i]+a[j]>x) j--; if(a[i]+a[j]<x) i++; }while(i<=j); if(i>j) printf("not exist"); system("pause"); return 0; }
上傳時間: 2017-04-01
上傳用戶:糖兒水嘻嘻
% Computation of ST-ZCR and STE of a speech signal. % % Functions required: zerocross, sgn, winconv. % % Author: Nabin Sharma % Date: 2009/03/15 [x,Fs] = wavread('so.wav'); % word is: so x = x.'; N = length(x); % signal length n = 0:N-1; ts = n*(1/Fs); % time for signal % define the window wintype = 'rectwin'; winlen = 201; winamp = [0.5,1]*(1/winlen);
標簽: 短時過零率和短時能量
上傳時間: 2019-09-23
上傳用戶:minwenji
讀入輸入的n的大小,n個字符串,和權值建立哈弗曼樹,并進行哈夫曼編碼
標簽: C語言哈弗曼樹
上傳時間: 2019-11-16
上傳用戶:zlmzlm
#include <stdio.h> #include <stdlib.h> #define SMAX 100 typedef struct SPNode { int i,j,v; }SPNode; struct sparmatrix { int rows,cols,terms; SPNode data [SMAX]; }; sparmatrix CreateSparmatrix() { sparmatrix A; printf("\n\t\t請輸入稀疏矩陣的行數,列數和非零元素個數(用逗號隔開):"); scanf("%d,%d,%d",&A.cols,&A.terms); for(int n=0;n<=A.terms-1;n++) { printf("\n\t\t輸入非零元素值(格式:行號,列號,值):"); scanf("%d,%d,%d",&A.data[n].i,&A.data[n].j,&A.data[n].v); } return A; } void ShowSparmatrix(sparmatrix A) { int k; printf("\n\t\t"); for(int x=0;x<=A.rows-1;x++) { for(int y=0;y<=A.cols-1;y++) { k=0; for(int n=0;n<=A.terms-1;n++) { if((A.data[n].i-1==x)&&(A.data[n].j-1==y)) { printf("%8d",A.data[n].v); k=1; } } if(k==0) printf("%8d",k); } printf("\n\t\t"); } } void sumsparmatrix(sparmatrix A) { SPNode *p; p=(SPNode*)malloc(sizeof(SPNode)); p->v=0; int k; k=0; printf("\n\t\t"); for(int x=0;x<=A.rows-1;x++) { for(int y=0;y<=A.cols-1;y++) { for(int n=0;n<=A.terms;n++) { if((A.data[n].i==x)&&(A.data[n].j==y)&&(x==y)) { p->v=p->v+A.data[n].v; k=1; } } } printf("\n\t\t"); } if(k==1) printf("\n\t\t對角線元素的和::%d\n",p->v); else printf("\n\t\t對角線元素的和為::0"); } int main() { int ch=1,choice; struct sparmatrix A; A.terms=0; while(ch) { printf("\n"); printf("\n\t\t 稀疏矩陣的三元組系統 "); printf("\n\t\t*********************************"); printf("\n\t\t 1------------創建 "); printf("\n\t\t 2------------顯示 "); printf("\n\t\t 3------------求對角線元素和"); printf("\n\t\t 4------------返回 "); printf("\n\t\t*********************************"); printf("\n\t\t請選擇菜單號(0-3):"); scanf("%d",&choice); switch(choice) { case 1: A=CreateSparmatrix(); break; case 2: ShowSparmatrix(A); break; case 3: SumSparmatrix(A); break; default: system("cls"); printf("\n\t\t輸入錯誤!請重新輸入!\n"); break; } if (choice==1||choice==2||choice==3) { printf("\n\t\t"); system("pause"); system("cls"); } else system("cls"); } }
上傳時間: 2020-06-11
上傳用戶:ccccy
ZLG-imx6ul核心板開發板底板Altium Designer AD設計硬件原理圖文件,IoTIoT -6G 2C 6G2C -L采用 無線 核心板 核心板 和底板 組合的方式,核心和底板 組合的方式,核心和底板 組合的方式,核心和底板 組合的方式,核心和底板 組合的方式,核心和底板 組合的方式,核心采用 NXPNXPNXP基于 ARM CortexARM CortexARM Cortex ARM CortexARM Cortex ARM CortexARM Cortex -A7內核的 內核的 i.MXi.MX i.MX6UL6UL6UL應用處理器, 應用處理器, 應用處理器, 主頻最高達 主頻最高達 主頻最高達 528 MH z,核心板 核心板 配備 256256 MB MB MB DDR 3和 256 MB NAND FlashNAND FlashNAND FlashNAND FlashNAND FlashNAND FlashNAND FlashNAND Flash NAND Flash;此外核心板 此外核心板 還支 持支持 802.11b/g/n802.11b/g/n 802.11b/g/n 802.11b/g/n 802.11b/g/n協議 WIFIWIFIWIFIWIFI、藍牙 4.0 通信功能 。主板 提供 8路 UARTUARTUARTUART、1路模擬 I2C、1路 12bit ADC 12bit ADC12bit ADC12bit ADC12bit ADC12bit ADC,支持兩通道采樣 ,支持兩通道采樣 ,支持兩通道采樣 ,支持兩通道采樣 ,支持兩通道采樣 、2路 10/100M 10/100M 10/100M以太網接口、 以太網接口、 以太網接口、 以太網接口、 1路 SD 卡電路 卡電路 、1路左右聲道 左右聲道 左右聲道 模擬音頻 模擬音頻 接口、 接口、 2路 USB HostUSB HostUSB HostUSB HostUSB HostUSB Host 接口 (1路與 USB DeviceUSB Device USB DeviceUSB DeviceUSB DeviceUSB DeviceUSB DeviceUSB Device 共用同一路 共用同一路 USB OTGUSB OTGUSB OTGUSB OTGUSB OTGUSB OTGUSB OTG)、 1路 USB USB USB USB DeviceDevice DeviceDevice 接口, 接口, 可滿足數據采集等多種 滿足數據采集等多種 滿足數據采集等多種 滿足數據采集等多種 消費電子和工業控制應用 消費電子和工業控制應用 消費電子和工業控制應用 消費電子和工業控制應用 消費電子和工業控制應用 場合 。
標簽: zlg 文件 核心 開發板 底板 altium designer ad 設計 硬件 原理圖 imx6ul
上傳時間: 2022-05-11
上傳用戶:fliang
艾默生 模塊電源的并聯均流技術:n一,概述 n二,常用并聯均流技術 n三,應用實例 n四,注意事項
上傳時間: 2022-07-26
上傳用戶:
本文將探討微控制器與 PSoC (可編程系統單晶片)在數位電視應用上的設計挑戰,並比較微控制器和 PSoC 架構在處理這些挑戰時的不同處,以有效地建置執行。
上傳時間: 2013-11-22
上傳用戶:gengxiaochao
這個章節將詳細介紹Windows CE 系統中的處理程序 (process) 和執行緒 (thread),並對Windows CE作業系統所使用的排程策略進行分析。處理程序是資源分配的基本單位,而執行緒是排程的基本單位。
上傳時間: 2015-07-01
上傳用戶:cx111111
Linux是一個Open Source的UNIX-like作業系統,除了有著廣大的支援社群以外,穩定、模組化、擁有廣大的應用免費應用軟體支援是它主要的優點。ARM嵌入式處理器則是目前應用在嵌入式系統領域中,佔有率最高的處理器,同時也是Linux核心目前所能夠支援的處理器之一,然而要使得Linux在ARM嵌入式處理器上運作,勢必要經過移植 (porting) 的過程,也就是要將平臺相依 (platform dependent) 的部分做適當的修改
標簽: UNIX-like Source Linux Open
上傳時間: 2015-11-08
上傳用戶:dengzb84
本書分為上篇、中篇和下篇三個部分,上篇為Windows CE結構分析,中篇為Windows CE情景分析,下篇為實驗手冊。每一篇又劃分為若 干章。上篇包含有引言,Windows CE體系結構,處理 器排程,儲存管理 ,檔案系統和設備管理 等六 章。中篇包含有系統初始化,處理 器排程過程,分頁處理 ,檔案處理 和驅動器載入等五章。下篇包含有Windows CE應用程式開發,Windows CE系統開發,評測與總結以及實習等四章。 上篇的重點在於分析Windows CE kernel的結構以及工作原理 。這個部分是掌握Windows CE作業系統的基礎。 中篇重點在於分析Windows CE kernel的實際運行 過程。如果說 上篇是從靜態的角度 分析Windows CE kernel,那麼中篇則是試圖從動態的角度 給讀 者一個有關Windows CE kernel的描述。希望讀 者能夠通過對中篇的閱讀 理 解,在頭腦中形成有關Windows CE kernel的多方位的運作情景。 下篇著重於有關Windows CE的應用。對理 論 的掌握最終要應用到實務中。
標簽: 分
上傳時間: 2013-12-23
上傳用戶:FreeSky