数据结构基数排序c++语言

设计一个将一组英文单词按字典序排列的基数排序算法。设单词均由小写字母或空格构成,最长的单词有n个字母

3个回答

简单说下思路吧。先有26个指针数组,分别对应单词的第一位的a-z,这个指针指向另一个指针数组,对应单词的第二位字母(这层的数组最多可能有26个)。以此类推,直到最后直接指向单词。

/********************************************************
*函数名称:GetNumInPos
*参数说明:num 一个整形数据

  •      pos 表示要获得的整形的第pos位数据 
    

    说明: 找到num的从低到高的第pos位的数据
    *
    *******************************************************/

    int GetNumInPos(int num,int pos)

    {

    int temp = 1;

    for (int i = 0; i < pos - 1; i++)

    temp *= 10;

    return (num / temp) % 10;

    }

/********************************************************
*函数名称:RadixSort
*参数说明:pDataArray 无序数组;

  •      iDataNum为无序数据个数 
    

    说明: 基数排序
    *
    *******************************************************/

    #define RADIX_10 10 //整形排序

    #define KEYNUM_31 10 //关键字个数,这里为整形位数

    void RadixSort(int* pDataArray, int iDataNum)

    {

    int *radixArrays[RADIX_10]; //分别为0~9的序列空间

    for (int i = 0; i < 10; i++)

    {

    radixArrays[i] = (int *)malloc(sizeof(int) * (iDataNum + 1));

    radixArrays[i][0] = 0; //index为0处记录这组数据的个数

    }

    for (int pos = 1; pos <= KEYNUM_31; pos++) //从个位开始到31位

    {

    for (int i = 0; i < iDataNum; i++) //分配过程

    {

    int num = GetNumInPos(pDataArray[i], pos);

    int index = ++radixArrays[num][0];

    radixArrays[num][index] = pDataArray[i];

    }

    for (int i = 0, j =0; i < RADIX_10; i++)    //收集  
    {  
        for (int k = 1; k <= radixArrays[i][0]; k++)  
            pDataArray[j++] = radixArrays[i][k];  
        radixArrays[i][0] = 0;    //复位  
    }  
    

    }

    }

    直接调用就行了

26.写一组英文单词按字典序排列的基数排序算法。设单词均由大写字母构成,最长的单词有d个字母。提示:所有长度不足d个字母的单词都在尾处补足空格,排序时设置27个箱子,分别与空格,A,B...Z对应。
答:
 #define KeySize 10 //设关键字位数d=10
 #define Radix 27 //基数rd为27
 typedef RecType DataType;//将队列中结点数据类型改为RecType类型
 typedef struct node{
   char key[KeySize]; //关键字域
   OtherInfoType info; //其它信息域,
  }RecType; //记录结点类型
 typedef RecType seqlist[n+1];

 void RadixSort(seqlist R)
  {
   LinkQueue B[Radix];
   int i;
   for(i=0;i     InitQueue(&B[i]);
   for(i=KeySize-1;i>=0;i--){//从低位到高位做d趟箱排序
     Distribute(R,B,i);//第KeySize-i趟分配
     Collect(R,B);//第KeySize-i趟收集
    }
  }

 void Distribute(seqlist R,LinkQueue B[], int j)
  {//按关键字的第j个分量进行分配,初始时箱子为空
   int i;
   j=KeySize-j; // 确定关键字从低位起的位置
   for(i=0;i      if (R[i].key[j]-'A'>26)
       EnQueue(&B[0],R[i]);//将第j位关键字位空格的记录入第0个队列
     else EnQueue(&B[0],R[R[i].key[j]-'A'+1]);
  }

 void Collect(seqlist R,LinkQueue B[])
  {
   //依次将各非空箱子中的记录收集起来,本过程结束,各箱子都变空
   int i,j;
   for (j=0;j<Radix;j++)
    while(!QueueEmpty(&B[j]))
     R[i++]=DeQueue(&B[j]);//将出队记录依次输出到R[i]中
  }

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
数据结构基数排序c++语言

设计一个将一组英文单词按字典序排列的基数排序算法。设单词均由小写字母或空格构成,最长的单词有n个字母

C语言 基数排序源代码

各位大神,请问你们谁有VC可以运行的基数排序的源代码?急需,可以给我网址自己下载,也可以发到我的邮箱2944113217@qq.com。

基数排序的空间复杂度求助!

**时间复杂度(维基百科)** ![维基百科](https://img-ask.csdn.net/upload/201909/02/1567419774_573153.png) 对{123,423,412,023}进行基数排序,B是10,蓝色部分N是10^3 对{as,qe,sd,fa,as,ws}进行基数排序,B是26,蓝色部分N是26^2 k就是:位数(也可以理解为需要排序得趟数) **空间复杂度?** 维基百科说是 ![图片说明](https://img-ask.csdn.net/upload/201909/02/1567420302_146846.png) 王道和天勤考研书都是O(r),r是队列数(桶子数) 假设用r个队列模拟r个桶子,需要头尾指针,2r 可是你存放队列之后,那n个数据再存放进队列中,不是n?? **我觉得空间复杂度是O(n+r)**

数据结构内部排序实验报告

一、实验目的 1、掌握排序的有关概念和特点。 2、熟练掌握直接插入排序、希尔排序、冒泡排序、快速排序、简单选择排序、堆排序、归并排序、基数排序等算法的基本思想。。 3、关键字序列有序与无序,对于不同的排序方法有不同的影响,通过该实验进一步加深理解。 二、实验内容 设有关键字序列k={ 12 , 45 , 21 , 12 , 30 , 2 , 68 , 33 },试用各种排序算法进行排序。 三、实验环境 TC或VC++ 四、实验步骤 1、从键盘输入上述8个整数,存放在数组quick[8]中,并输出值。 2、输出各种排序算法每一趟排序的结果,观察关键字次序的变化。 (1)直接插入排序算法如下: void InsertionSort ( SqList &L ) { // 对顺序表 L 作直接插入排序。 for ( i=2; i<=L.length; ++i ) if (L.r[i].key < L.r[i-1].key) { L.r[0] = L.r[i]; // 复制为监视哨 for ( j=i-1; L.r[0].key < L.r[j].key; -- j ) L.r[j+1] = L.r[j]; // 记录后移 L.r[j+1] = L.r[0]; // 插入到正确位置 } } // InsertSort (2)希尔排序算法如下: void ShellInsert ( SqList &L, int dk ) { for ( i=dk+1; i<=n; ++i ) if ( L.r[i].key< L.r[i-dk].key) { L.r[0] = L.r[i]; // 暂存在R[0] for (j=i-dk; j>0&&(L.r[0].key<L.r[j].key); j-=dk) L.r[j+dk] = L.r[j]; // 记录后移,查找插入位置 L.r[j+dk] = L.r[0]; // 插入 } // if } // ShellInsert void ShellSort (SqList &L, int dlta[], int t) { // 增量为dlta[]的希尔排序 for (k=0; k<t; ++t) ShellInsert(L, dlta[k]); //一趟增量为dlta[k]的插入排序 } // ShellSort (3)冒泡排序算法如下: void BubbleSort(Elem R[ ], int n) { i = n; while (i >1) { lastExchangeIndex = 1; for (j = 1; j < i; j++) if (R[j+1].key < R[j].key) { Swap(R[j], R[j+1]); lastExchangeIndex = j; //记下进行交换的记录位置 } //if i = lastExchangeIndex; } // while } // BubbleSort (4)快速排序算法如下: int Partition (RedType R[], int low, int high) { R[0] = R[low]; pivotkey = R[low].key; // 枢轴 while (low<high) { while(low<high&& R[high].key>=pivotkey) -- high; // 从右向左搜索 R[low] = R[high]; while (low<high && R[low].key<=pivotkey) ++ low; // 从左向右搜索 R[high] = R[low]; } R[low] = R[0]; return low; }// Partition void QSort (RedType & R[], int s, int t ) { // 对记录序列R[s..t]进行快速排序 if (s < t) { // 长度大于1 pivotloc = Partition(R, s, t); // 对 R[s..t] 进行一次划分 QSort(R, s, pivotloc-1); QSort(R, pivotloc+1, t); } } // QSort (5)简单选择排序的算法描述如下: void SelectSort (Elem R[], int n ) { // 对记录序列R[1..n]作简单选择排序。 for (i=1; i<n; ++i) { // 选择第 i 小的记录,并交换到位 j = SelectMinKey(R, i); // 在 R[i..n] 中选择关键字最小的记录 if (i!=j) R[i]←→R[j]; // 与第 i 个记录交换 } } // SelectSort (6)堆排序算法描述如下: void HeapSort ( HeapType &H ) { // 对顺序表 H 进行堆排序 for ( i=H.length/2; i>0; --i ) HeapAdjust ( H.r, i, H.length ); // 建大顶堆 for ( i=H.length; i>1; --i ) { H.r[1]←→H.r[i]; HeapAdjust(H.r, 1, i-1); // 对 H.r[1] 进行筛选 } } // HeapSort void HeapAdjust (RcdType &R[], int s, int m) { rc = R[s]; // 暂存 R[s] for ( j=2*s; j<=m; j*=2 ) { // j 初值指向左孩子 if ( j<m && R[j].key<R[j+1].key ) ++j; if ( rc.key >= R[j].key ) break; R[s] = R[j]; s = j; } R[s] = rc; } // HeapAdjust (7)归并排序算法描述如下: void Msort ( RcdType SR[], RcdType &TR1[], int s, int t ) { // 将SR[s..t] 归并排序为 TR1[s..t] if (s= =t) TR1[s]=SR[s]; else { m = (s+t)/2; Msort (SR, TR2, s, m); // 递归地将SR[s..m]归并为有序的TR2[s..m] Msort (SR, TR2, m+1, t); Merge (TR2, TR1, s, m, t); } } // Msort 3、如果上述8个整数按照升序输入,即k1={ 2 , 12 , 12 , 21 , 30 , 33 , 45 , 68 },输出各种排序算法每一趟排序的结果,观察关键字次序的变化。 4、如果上述8个整数按照降序输入,即k2={ 68 , 45 , 33 , 30 , 21 , 12 , 12 , 2},输出各种排序算法每一趟排序的结果,观察关键字次序的变化。 5、随机产生3万个数,对其进行排序,观察其结果,并测试各排序算法的执行时间,比较执行效率。 五、问题讨论 1、直接插入排序、希尔排序、冒泡排序、快速排序、简单选择排序、堆排序、归并排序、基数排序中哪些是稳定的排序方法,哪些是不稳定的? 2、直接插入排序、希尔排序、冒泡排序、快速排序、简单选择排序、堆排序、归并排序、基数排序中哪些排序方法比较次数与初始序列有关,那些无关? 3、在初始序列基本有序的前提条件下,哪种排序方法效率最高? 六、实验报告内容 1、实验目的 2、实验内容和具体要求 3、完成情况和实验记录,实验记录为实验过程中遇到的问题及解决方法 4、程序清单 5、所输入的数据及相应的运行结果 6、问题回答 7、实验心得

基数排序为什么要两个指针

如题,为什么基数排序要两个指针,一个指向头,一个指向尾呢,还有为什么要用头插法呀

求解一道数据结构题,实现归并排序和基数排序

MySort.h /** * 归并排序,要求对arr进行归并排序,数组长度为len @name mergeSort(int*, int); @param arg1 需要排序对数组 @param arg2 数组的长度 @return */ void mergeSort(int* arr, int len); /** * 基数排序,要求对arr进行基数排序,数组长度为len @name cardSort(int*, int); @param arg1 需要排序对数组 @param arg2 数组的长度 @return */ void cardSort(int* arr, int len); MySort.cpp #include "MySort.h" void mergeSort(int *arr, int len){ } void cardSort(int* arr, int len){ } main.cpp #include <iostream> #include <cstdio> #include <ctime> #include <cstdlib> #include "MySort.h" void shuffle(int* arr, int len){ srand(time(0)); for(int i = 0; i < len; i++){ int randn = rand() % len; std::swap(arr[i], arr[randn]); } } int main() { int i; int len = 100; int res[100] = {0}; int arr[100] = {0}; for(int i = 1; i < len; i++){ arr[i] = arr[i - 1] + rand() % 100; res[i] = arr[i]; } shuffle(arr, len); mergeSort(arr, len); for(i = 0; i < len; i++){ if(arr[i] != res[i]) break; } if(i == len) printf("Pass check point 1!"); shuffle(arr, len); cardSort(arr, len); for(i = 0; i < len; i++){ if(arr[i] != res[i]) break; } if(i == len) printf("Pass check point 2!"); return 0; }

算法导论 基数排序 ,,

基数排序为什么是从低位开始排序 而不是从高位开始排序 。。。。。。。。。。。。。。。。。。。。。

数据结构顺序表(栈的操作问题)

数据结构顺序表(栈的操作问题) x='@'; 在数据结构中有什么意义?

C语言或C++实现,排序方法的时间比较?

利用随机函数产生10个样本,每个样本有20000个随机整数(并使第一个样本是正序,第二个样本是逆序)利用直接插入排序、希尔排序,冒泡排序、快速排序、选择排序、堆排序,归并排序、基数排序8种排序方法进行排序(结果为由小到大的顺序)并统计每一种排序算法对不同样本所耗费的时间。 基本要求(1) 原始数据存在文件中,用相同样本对不同算法进行测试; (2) 屏幕显示每种排序算法对不同样本所花的时间;

高分悬赏问题!Java语言用快速排序法(中间值作为排序哨兵)对数组排序代码怎么写

高分悬赏问题!Java语言用快速排序法(中间值作为排序哨兵)对数组排序代码怎么写 注意,中间值作为排序哨兵,不是第一个数,网上的不符合要求

测试排序的效率,为什么:希尔排序>归并排序>快速排序?

<p>我看看几篇排序的算法的文章,大家都说效率一般都是:快速排序&gt;归并排序&gt;希尔排序</p> <p>然后就用java自己动手测了一下,测试结果却是:希尔排序&gt;归并排序&gt;快速排序</p> <p>而且当数据量过大时,归并排序 和 快速排序 会出现栈溢出.</p> <p> </p> <p>以下是我写的源代码,请帮我分析一下是什么原因?</p> <p> </p> <pre name="code" class="java">package com.test; import java.util.Arrays; import java.util.Random; public class Sort { public static void main(String[] args) { int[] arr = new int[400000]; Random r = new Random(); long start, end; init(arr, r); System.out.print("希尔排序..."); start = System.currentTimeMillis(); sort1(arr); end = System.currentTimeMillis(); System.out.println("完成" + (end - start)); //System.out.println(Arrays.toString(arr)); init(arr, r); System.out.print("归并排序..."); start = System.currentTimeMillis(); arr = sort2(arr, 0, arr.length - 1); end = System.currentTimeMillis(); System.out.println("完成" + (end - start)); //System.out.println(Arrays.toString(arr)); init(arr, r); System.out.print("快速排序..."); start = System.currentTimeMillis(); sort3(arr, 0, arr.length - 1); end = System.currentTimeMillis(); System.out.println("完成" + (end - start)); //System.out.println(Arrays.toString(arr)); } /** * 初始化 */ private static void init(int[] arr, Random r) { System.out.print("\n初始化..."); for (int i = 0; i &lt; arr.length; i++) { arr[i] = r.nextInt(100); } //System.out.println("\n" + Arrays.toString(arr)); } /** * 希尔排序 */ private static void sort1(int[] a) { int i, j, temp, increment; // increment增量缩短,当增量为1时,即把整个数组进行插入排序 for (increment = a.length / 3; increment &gt; 0; increment /= 3) { for (i = increment; i &lt; a.length; i++) { temp = a[i]; for (j = i - increment; j &gt;= 0 &amp;&amp; temp &lt; a[j]; j -= increment) { a[j + increment] = a[j]; } a[j + increment] = temp; } } } /** * 归并排序 * left,right参数表示:把a数组中fist--right之间的元素排序 * 排序结果以新数组返回. */ private static int[] sort2(int[] a, int left, int right) { //判断递归结束条件 if (right &lt;= left) return new int[] { a[left] }; //从数组中间切成左右两部分,mid为右边部分的起始下标 int mid = (left + right + 1) / 2; //第一步:用递归把数组左边排序 int[] a1 = sort2(a, left, mid - 1); //第二步:用递归把数组右边排序 int[] a2 = sort2(a, mid, right); //第三步:归并操作,把左右两边序列合并到新的数组 int[] result = new int[right - left + 1]; int i = 0, j = 0, k = 0; while (i &lt; a1.length &amp;&amp; j &lt; a2.length) { if (a1[i] &lt; a2[j]) result[k++] = a1[i++]; else result[k++] = a2[j++]; } while (j &lt; a2.length) { result[k++] = a2[j++]; } while (i &lt; a1.length) { result[k++] = a1[i++]; } return result; } /** * 快速排序 * left,right参数表示:把a数组中left--right之间的元素排序 */ private static void sort3(int[] a, int left, int right) { // 第四步:判断结束递归的条件 if(left&gt;=right) return; // 第一步:以left为基数,把a分成左右两部分,使左边部分小于右边部分 int i = left;//最终i==j; for (int b=1,j=right; i &lt; j;) {// 最初b=1,表示以left为基数 if (a[i] &gt; a[j]) {//交换位置 int temp = a[i]; a[i] = a[j]; a[j] = temp; if (b==1) i++; else j--;//应基数位置不同,处理也不同 b = -b;//交换位置后,基数位置变化,b=1,表示以left为基数 } else { if (b==1) j--; else i++;//应基数位置不同,处理也不同 } } // 第二步:递归排序左部分(left到i-1) sort3(a,left,i-1); // 第三步:递归排序右部分(i+1到right) sort3(a,i+1,right); } } </pre> <p> 运行结果如下:</p> <p> </p> <div class="quote_div">初始化...希尔排序...完成40<br><br>初始化...归并排序...完成53<br><br>初始化...快速排序...完成1411</div>   <p> </p>

C语言求助,读入20个整型数据,将这20个数前面十个升序排序,后面十个降序排序,输出排序后的结果。

读入20个整型数据,将这20个数前面十个升序排序,后面十个降序排序,输出排序后的结果。

c语言算法,基数求解最小构成

功能:有一组基数值(正整数),输入一个正整数(小于100), 问:如果该数由基数值相加构成(每个基数可以重复使用) ,那么最少可能利用的基数是多少个。 ``` #include <stdio.h> #include <stdlib.h> #define MAXSiZE 100 /*#define min(a,b) ((a) <= (b) ? (a) : (b))*/ void main(void) { int num[MAXSiZE+1]; int base[] = {1,3,4}; int k= sizeof(base)/sizeof(int); int n; int i, j, MIN; scanf("%d",&n); num[0] = 0; num[1] = 1; //------------------------1111------------------ for (i = 2; i <= n; i++) { MIN=n; for(j=0;j<k;j++) if (i>=base[j]) MIN=min(num[i-base[j]]+1,MIN); num[i]=MIN; } printf("Minimum = %\nd",num[n]); } ``` 这里使用到了贪心算法了吗? 从 1 位置往下研究了很长时间,还是没看懂,那么大神帮忙讲解一番 谢了

请教数据结构算法的一点问题~~

基数排序.cpp: void main() { int inputNumber; int a[] = { 70,32,40,12,85,23,901,100,75,60 }; int len = sizeof(a) / sizeof(a[0]); RadixSort(a, len); for (int i = 0; i < len; i++) { cout << a[i] << " "; } } int maxbit(int a[], int len)//最大是几位数 { int d = 1; for (int i = 0; i < len; i++) { int c = 1; int p = a[i]; while (p / 10) { p = p / 10; c++; } if (c > d) { d = c; } } return d; } void RadixSort(int a[], int len) { int temp[10]; int count[10]; int r = 1; int d = maxbit(a, len); for (int i = 1; i <= d; i++) { for (int i = 0; i < 10; i++)//装桶前先清桶 { count[i] = 0; } for (int i = 0; i < 10; i++) { int k = a[i] / r; int q = k % 10; count[q]++; } for (int i = 1; i < 10; i++)//计算位置 { count[i] += count[i - 1]; } for (int j =len-1; j>=0; j--) { int k = a[j] / r; int q = k % 10; temp[count[q] - 1] = a[j]; count[q]--; } for (int i = 0; i < len; i++) { a[i] = temp[i]; } r = r * 10; } } for (int j = 0; j<len; j++) { int k = a[j] / r; int q = k % 10; temp[count[q] - 1] = a[j]; count[q]--; }

归并排序比较次数问题

第二趟排序,为什么前半部分比较次数和后半部门比较次数都是3,是那些数在比较,求大神。百度了很久都没找到![图片说明](https://img-ask.csdn.net/upload/201705/12/1494595820_325264.png)

用c++实现归并排序的问题

打算用递归法实现归并排序,但结果总是不对,找不到问题,求大佬解答 #include<iostream> using namespace std; int a[100]; void merge(int m[],int l,int r,int rightend); void sort(int m[],int l,int r); void msort(); int n; int main() { cin>>n; for(int i=0;i<n;i++) { cin>>a[i]; } msort(); for(int i=0;i<n;i++) { cout<<a[i]<<" "; } } void sort(int m[],int l, int r) { int center; if(l<r) { center=(l+r)/2; sort(m,l,center); sort(m,center+1,r); merge(m,l,center+1,r); } } void merge(int m[],int l,int r,int rightend) { int t=0; int leftend=r-1; while(l<=leftend&&r<=rightend) { if(a[l]<=a[r]) { m[t++]=a[l++]; } else { m[t++]=a[r++]; } } while(l<=leftend) m[t++]=a[l++]; while(r<=rightend) m[t++]=a[r++]; for(int i=0;i<t;i++) { a[l+i]=m[i]; } } void msort() { int temp[100]; sort(temp,0,n-1); }

C语言文件读取的字符串按照每个256个字节进行分组

写一段c语言,读取一个文件中的内容,然后对里面字符串长度按照每个256字节进行分组, 然后我再通过串口发送出去,在发送之前,需要对这256个字节前面再加上我自定义的2个字节,也就是总共258字节发出去,具体代码怎么写?

求问,一道Python排序题,排序从小写、大写、奇数、偶数

这两条语句都对,但是看不太懂,主要是对sorted中的key,和lambda表达式不太清晰,大神能给点播一下吗 ``` print(*(sorted(input(),key = lambda x:(x.isdigit() and int(x)%2==0, x.isdigit(),x.isupper(),x.islower(),x))),sep = '') ``` ``` print(*sorted(input(), key=lambda c: (c.isdigit() - c.islower(), c in '02468', c)), sep='') ```

排序问题,给出详细算法过程

给出算法详细过程,编写一个程序,出现次数越多,数字越大的排在前面。

基数进行开平方运算的一个数字问题的求解?用C编程语言如何实现的

Problem Description Golden ratio base (GRB) is a non-integer positional numeral system that uses the golden ratio (the irrational number (1+√5)/2 ≈ 1.61803399 symbolized by the Greek letter φ) as its base. It is sometimes referred to as base-φ, golden mean base, phi-base, or, phi-nary. Any non-negative real number can be represented as a base-φ numeral using only the digits 0 and 1, and avoiding the digit sequence "11" – this is called a standard form. A base-φ numeral that includes the digit sequence "11" can always be rewritten in standard form, using the algebraic properties of the base φ — most notably that φ + 1 = φ 2 . For instance, 11(φ) = 100(φ). Despite using an irrational number base, when using standard form, all on-negative integers have a unique representation as a terminating (finite) base-φ expansion. The set of numbers which possess a finite base-φ representation is the ring Z[1 + √5/2]; it plays the same role in this numeral systems as dyadic rationals play in binary numbers, providing a possibility to multiply. Other numbers have standard representations in base-φ, with rational numbers having recurring representations. These representations are unique, except that numbers (mentioned above) with a terminating expansion also have a non-terminating expansion, as they do in base-10; for example, 1=0.99999…. Coach MMM, an Computer Science Professor who is also addicted to Mathematics, is extremely interested in GRB and now ask you for help to write a converter which, given an integer N in base-10, outputs its corresponding form in base-φ. Input There are multiple test cases. Each line of the input consists of one positive integer which is not larger than 10^9. The number of test cases is less than 10000. Input is terminated by end-of-file. Output For each test case, output the required answer in a single line. Note that trailing 0s after the decimal point should be wiped. Please see the samples for more details. Sample Input 1 2 3 6 10 Sample Output 1 10.01 100.01 1010.0001 10100.0101

4小时玩转微信小程序——基础入门与微信支付实战

这是一个门针对零基础学员学习微信小程序开发的视频教学课程。课程采用腾讯官方文档作为教程的唯一技术资料来源。杜绝网络上质量良莠不齐的资料给学员学习带来的障碍。 视频课程按照开发工具的下载、安装、使用、程序结构、视图层、逻辑层、微信小程序等几个部分组织课程,详细讲解整个小程序的开发过程

Python可以这样学(第四季:数据分析与科学计算可视化)

董付国老师系列教材《Python程序设计(第2版)》(ISBN:9787302436515)、《Python可以这样学》(ISBN:9787302456469)配套视频,在教材基础上又增加了大量内容,通过实例讲解numpy、scipy、pandas、statistics、matplotlib等标准库和扩展库用法。

组成原理课程设计(实现机器数的真值还原等功能)

实现机器数的真值还原(定点小数)、定点小数的单符号位补码加减运算、定点小数的补码乘法运算和浮点数的加减运算。

javaWeb图书馆管理系统源码mysql版本

系统介绍 图书馆管理系统主要的目的是实现图书馆的信息化管理。图书馆的主要业务就是新书的借阅和归还,因此系统最核心的功能便是实现图书的借阅和归还。此外,还需要提供图书的信息查询、读者图书借阅情况的查询等

土豆浏览器

土豆浏览器可以用来看各种搞笑、电影、电视剧视频

Java面试题大全(2020版)

发现网上很多Java面试题都没有答案,所以花了很长时间搜集整理出来了这套Java面试题大全,希望对大家有帮助哈~ 本套Java面试题大全,全的不能再全,哈哈~ 一、Java 基础 1. JDK 和 JRE 有什么区别? JDK:Java Development Kit 的简称,java 开发工具包,提供了 java 的开发环境和运行环境。 JRE:Java Runtime Environ...

Java8零基础入门视频教程

这门课程基于主流的java8平台,由浅入深的详细讲解了java SE的开发技术,可以使java方向的入门学员,快速扎实的掌握java开发技术!

Java基础知识面试题(2020最新版)

文章目录Java概述何为编程什么是Javajdk1.5之后的三大版本JVM、JRE和JDK的关系什么是跨平台性?原理是什么Java语言有哪些特点什么是字节码?采用字节码的最大好处是什么什么是Java程序的主类?应用程序和小程序的主类有何不同?Java应用程序与小程序之间有那些差别?Java和C++的区别Oracle JDK 和 OpenJDK 的对比基础语法数据类型Java有哪些数据类型switc...

TTP229触摸代码以及触摸返回值处理

自己总结的ttp229触摸代码,触摸代码以及触摸按键处理

网络工程师小白入门--【思科CCNA、华为HCNA等网络工程师认证】

本课程适合CCNA或HCNA网络小白同志,高手请绕道,可以直接学习进价课程。通过本预科课程的学习,为学习网络工程师、思科CCNA、华为HCNA这些认证打下坚实的基础! 重要!思科认证2020年2月24日起,已启用新版认证和考试,包括题库都会更新,由于疫情原因,请关注官网和本地考点信息。题库网络上很容易下载到。

深度学习原理+项目实战+算法详解+主流框架(套餐)

深度学习系列课程从深度学习基础知识点开始讲解一步步进入神经网络的世界再到卷积和递归神经网络,详解各大经典网络架构。实战部分选择当下最火爆深度学习框架PyTorch与Tensorflow/Keras,全程实战演示框架核心使用与建模方法。项目实战部分选择计算机视觉与自然语言处理领域经典项目,从零开始详解算法原理,debug模式逐行代码解读。适合准备就业和转行的同学们加入学习! 建议按照下列课程顺序来进行学习 (1)掌握深度学习必备经典网络架构 (2)深度框架实战方法 (3)计算机视觉与自然语言处理项目实战。(按照课程排列顺序即可)

java jdk 8 帮助文档 中文 文档 chm 谷歌翻译

JDK1.8 API 中文谷歌翻译版 java帮助文档 JDK API java 帮助文档 谷歌翻译 JDK1.8 API 中文 谷歌翻译版 java帮助文档 Java最新帮助文档 本帮助文档是使用谷

Ubuntu18.04安装教程

Ubuntu18.04.1安装一、准备工作1.下载Ubuntu18.04.1 LTS2.制作U盘启动盘3.准备 Ubuntu18.04.1 的硬盘空间二、安装Ubuntu18.04.1三、安装后的一些工作1.安装输入法2.更换软件源四、双系统如何卸载Ubuntu18.04.1新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列...

快速排序---(面试碰到过好几次)

原理:    快速排序,说白了就是给基准数据找其正确索引位置的过程.    如下图所示,假设最开始的基准数据为数组第一个元素23,则首先用一个临时变量去存储基准数据,即tmp=23;然后分别从数组的两端扫描数组,设两个指示标志:low指向起始位置,high指向末尾.    首先从后半部分开始,如果扫描到的值大于基准数据就让high减1,如果发现有元素比该基准数据的值小(如上图中18&amp;lt...

手把手实现Java图书管理系统(附源码)

【超实用课程内容】 本课程演示的是一套基于Java的SSM框架实现的图书管理系统,主要针对计算机相关专业的正在做毕设的学生与需要项目实战练习的java人群。详细介绍了图书管理系统的实现,包括:环境搭建、系统业务、技术实现、项目运行、功能演示、系统扩展等,以通俗易懂的方式,手把手的带你从零开始运行本套图书管理系统,该项目附带全部源码可作为毕设使用。 【课程如何观看?】 PC端:https://edu.csdn.net/course/detail/27513 移动端:CSDN 学院APP(注意不是CSDN APP哦) 本课程为录播课,课程2年有效观看时长,大家可以抓紧时间学习后一起讨论哦~ 【学员专享增值服务】 源码开放 课件、课程案例代码完全开放给你,你可以根据所学知识,自行修改、优化 下载方式:电脑登录https://edu.csdn.net/course/detail/27513,点击右下方课程资料、代码、课件等打包下载

HTML期末大作业

这是我自己做的HTML期末大作业,花了很多时间,稍加修改就可以作为自己的作业了,而且也可以作为学习参考

Python数据挖掘简易入门

&nbsp; &nbsp; &nbsp; &nbsp; 本课程为Python数据挖掘方向的入门课程,课程主要以真实数据为基础,详细介绍数据挖掘入门的流程和使用Python实现pandas与numpy在数据挖掘方向的运用,并深入学习如何运用scikit-learn调用常用的数据挖掘算法解决数据挖掘问题,为进一步深入学习数据挖掘打下扎实的基础。

极简JAVA学习营第四期(报名以后加助教微信:eduxy-1)

想学好JAVA必须要报两万的培训班吗? Java大神勿入 如果你: 零基础想学JAVA却不知道从何入手 看了一堆书和视频却还是连JAVA的环境都搭建不起来 囊中羞涩面对两万起的JAVA培训班不忍直视 在职没有每天大块的时间专门学习JAVA 那么恭喜你找到组织了,在这里有: 1. 一群志同道合立志学好JAVA的同学一起学习讨论JAVA 2. 灵活机动的学习时间完成特定学习任务+每日编程实战练习 3. 热心助人的助教和讲师及时帮你解决问题,不按时完成作业小心助教老师的家访哦 上一张图看看前辈的感悟: &nbsp; &nbsp; 大家一定迫不及待想知道什么是极简JAVA学习营了吧,下面就来给大家说道说道: 什么是极简JAVA学习营? 1. 针对Java小白或者初级Java学习者; 2. 利用9天时间,每天1个小时时间; 3.通过 每日作业 / 组队PK / 助教答疑 / 实战编程 / 项目答辩 / 社群讨论 / 趣味知识抢答等方式让学员爱上学习编程 , 最终实现能独立开发一个基于控制台的‘库存管理系统’ 的学习模式 极简JAVA学习营是怎么学习的? &nbsp; 如何报名? 只要购买了极简JAVA一:JAVA入门就算报名成功! &nbsp;本期为第四期极简JAVA学习营,我们来看看往期学员的学习状态: 作业看这里~ &nbsp; 助教的作业报告是不是很专业 不交作业打屁屁 助教答疑是不是很用心 &nbsp; 有奖抢答大家玩的很嗨啊 &nbsp; &nbsp; 项目答辩终于开始啦 &nbsp; 优秀者的获奖感言 &nbsp; 这是答辩项目的效果 &nbsp; &nbsp; 这么细致的服务,这么好的氛围,这样的学习效果,需要多少钱呢? 不要1999,不要199,不要99,只要9.9 是的你没听错,只要9.9以上所有就都属于你了 如果你: 1、&nbsp;想学JAVA没有基础 2、&nbsp;想学JAVA没有整块的时间 3、&nbsp;想学JAVA没有足够的预算 还等什么?赶紧报名吧,抓紧抢位,本期只招300人,错过只有等时间待定的下一期了 &nbsp; 报名请加小助手微信:eduxy-1 &nbsp; &nbsp;

C++语言基础视频教程

C++语言基础视频培训课程:本课与主讲者在大学开出的程序设计课程直接对接,准确把握知识点,注重教学视频与实践体系的结合,帮助初学者有效学习。本教程详细介绍C++语言中的封装、数据隐藏、继承、多态的实现等入门知识;主要包括类的声明、对象定义、构造函数和析构函数、运算符重载、继承和派生、多态性实现等。 课程需要有C语言程序设计的基础(可以利用本人开出的《C语言与程序设计》系列课学习)。学习者能够通过实践的方式,学会利用C++语言解决问题,具备进一步学习利用C++开发应用程序的基础。

UnityLicence

UnityLicence

软件测试2小时入门

本课程内容系统、全面、简洁、通俗易懂,通过2个多小时的介绍,让大家对软件测试有个系统的理解和认识,具备基本的软件测试理论基础。 主要内容分为5个部分: 1 软件测试概述,了解测试是什么、测试的对象、原则、流程、方法、模型;&nbsp; 2.常用的黑盒测试用例设计方法及示例演示;&nbsp; 3 常用白盒测试用例设计方法及示例演示;&nbsp; 4.自动化测试优缺点、使用范围及示例‘;&nbsp; 5.测试经验谈。

YOLOv3目标检测实战:训练自己的数据集

YOLOv3是一种基于深度学习的端到端实时目标检测方法,以速度快见长。本课程将手把手地教大家使用labelImg标注和使用YOLOv3训练自己的数据集。课程分为三个小项目:足球目标检测(单目标检测)、梅西目标检测(单目标检测)、足球和梅西同时目标检测(两目标检测)。 本课程的YOLOv3使用Darknet,在Ubuntu系统上做项目演示。包括:安装Darknet、给自己的数据集打标签、整理自己的数据集、修改配置文件、训练自己的数据集、测试训练出的网络模型、性能统计(mAP计算和画出PR曲线)和先验框聚类。 Darknet是使用C语言实现的轻型开源深度学习框架,依赖少,可移植性好,值得深入探究。 除本课程《YOLOv3目标检测实战:训练自己的数据集》外,本人推出了有关YOLOv3目标检测的系列课程,请持续关注该系列的其它课程视频,包括: 《YOLOv3目标检测实战:交通标志识别》 《YOLOv3目标检测:原理与源码解析》 《YOLOv3目标检测:网络模型改进方法》 敬请关注并选择学习!

Python数据分析师-实战系列

系列课程主要包括Python数据分析必备工具包,数据分析案例实战,核心算法实战与企业级数据分析与建模解决方案实战,建议大家按照系列课程阶段顺序进行学习。所有数据集均为企业收集的真实数据集,整体风格以实战为导向,通俗讲解Python数据分析核心技巧与实战解决方案。

YOLOv3目标检测实战系列课程

《YOLOv3目标检测实战系列课程》旨在帮助大家掌握YOLOv3目标检测的训练、原理、源码与网络模型改进方法。 本课程的YOLOv3使用原作darknet(c语言编写),在Ubuntu系统上做项目演示。 本系列课程包括三门课: (1)《YOLOv3目标检测实战:训练自己的数据集》 包括:安装darknet、给自己的数据集打标签、整理自己的数据集、修改配置文件、训练自己的数据集、测试训练出的网络模型、性能统计(mAP计算和画出PR曲线)和先验框聚类。 (2)《YOLOv3目标检测:原理与源码解析》讲解YOLOv1、YOLOv2、YOLOv3的原理、程序流程并解析各层的源码。 (3)《YOLOv3目标检测:网络模型改进方法》讲解YOLOv3的改进方法,包括改进1:不显示指定类别目标的方法 (增加功能) ;改进2:合并BN层到卷积层 (加快推理速度) ; 改进3:使用GIoU指标和损失函数 (提高检测精度) ;改进4:tiny YOLOv3 (简化网络模型)并介绍 AlexeyAB/darknet项目。

超详细MySQL安装及基本使用教程

一、下载MySQL 首先,去数据库的官网http://www.mysql.com下载MySQL。 点击进入后的首页如下:  然后点击downloads,community,选择MySQL Community Server。如下图:  滑到下面,找到Recommended Download,然后点击go to download page。如下图:  点击download进入下载页面选择No...

一学即懂的计算机视觉(第一季)

图像处理和计算机视觉的课程大家已经看过很多,但总有“听不透”,“用不了”的感觉。课程致力于创建人人都能听的懂的计算机视觉,通过生动、细腻的讲解配合实战演练,让学生真正学懂、用会。 【超实用课程内容】 课程内容分为三篇,包括视觉系统构成,图像处理基础,特征提取与描述,运动跟踪,位姿估计,三维重构等内容。课程理论与实战结合,注重教学内容的可视化和工程实践,为人工智能视觉研发及算法工程师等相关高薪职位就业打下坚实基础。 【课程如何观看?】 PC端:https://edu.csdn.net/course/detail/26281 移动端:CSDN 学院APP(注意不是CSDN APP哦) 本课程为录播课,课程2年有效观看时长,但是大家可以抓紧时间学习后一起讨论哦~ 【学员专享增值服务】 源码开放 课件、课程案例代码完全开放给你,你可以根据所学知识,自行修改、优化 下载方式:电脑登录https://edu.csdn.net/course/detail/26281,点击右下方课程资料、代码、课件等打包下载

董付国老师Python全栈学习优惠套餐

购买套餐的朋友可以关注微信公众号“Python小屋”,上传付款截图,然后领取董老师任意图书1本。

爬取妹子图片(简单入门)

安装第三方请求库 requests 被网站禁止了访问 原因是我们是Python过来的 重新给一段 可能还是存在用不了,使用网页的 编写代码 上面注意看匹配内容 User-Agent:请求对象 AppleWebKit:请求内核 Chrome浏览器 //请求网页 import requests import re //正则表达式 就是去不规则的网页里面提取有规律的信息 headers = { 'User-Agent':'存放浏览器里面的' } response = requests.get

web网页制作期末大作业

分享思维,改变世界. web网页制作,期末大作业. 所用技术:html css javascript 分享所学所得

技术大佬:我去,你写的 switch 语句也太老土了吧

昨天早上通过远程的方式 review 了两名新来同事的代码,大部分代码都写得很漂亮,严谨的同时注释也很到位,这令我非常满意。但当我看到他们当中有一个人写的 switch 语句时,还是忍不住破口大骂:“我擦,小王,你丫写的 switch 语句也太老土了吧!” 来看看小王写的代码吧,看完不要骂我装逼啊。 private static String createPlayer(PlayerTypes p...

相关热词 c#跨线程停止timer c#批量写入sql数据库 c# 自动安装浏览器 c#语言基础考试题 c# 偏移量打印是什么 c# 绘制曲线图 c#框体中的退出函数 c# 按钮透明背景 c# idl 混编出错 c#在位置0处没有任何行
立即提问