![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构和算法设计
WilliamStack
步子迈太大会扯蛋
展开
-
char 字符
晚上郁闷着蓝桥杯怎么考得那么差,随手拿了一道回文数,我尼个擦,居然卡了半小时,结果void ok(int n) { char a[5];//我当时给了a[4],n是四位的,咋整都不对,哎。原来最后一位是给‘\N’用的,早说嘛,下次数组一定得开大点 int i,x=1; sprintf(a,"%d",n); int len=strlen(a); fo原创 2015-06-01 22:40:26 · 208 阅读 · 0 评论 -
C++单链表的实现
单链表的实现单链表实现有四种方式,请看如下代码: 注:在使用template时定义和实现如何分开写,编译会出错,所以我把实现也放在了头文件。/*************************************************************************1、复合类:在Node类中定义友元的方式,使List类可以访问结点的私有成员****************原创 2016-09-28 20:49:56 · 451 阅读 · 0 评论 -
算法复杂度计算
基本的计算步骤 时间复杂度的定义 一般情况下,算法中基本操作重复执行的次数是问题规模n的某个函数,用T(n)表示,若有某个辅助函数f(n),使得当n趋近于无穷大时,T(n)/f(n)的极限值为不等于零的常数,则称f(n)是T(n)的同数量级函数。记作T(n)=O(f(n)),称O(f(n))为算法的渐进时间复杂度(O是数量级的符号 ),简称时间复杂度。根据定义,可以归纳出基本的计算步骤原创 2016-09-28 21:16:49 · 1655 阅读 · 0 评论 -
常见排序算法总结
1.冒泡排序—蛮力法基本思想:两两比较相邻记录,如果反序侧交换,直到没有反序的记录为止。如果是正序排,将待排序的元素看作是竖着排列的 “ 气泡 ” ,较小的元素比较轻,从而要往上浮。时间复杂度:O(N*N);动图: 代码:void BubbleSort(int A[],int n) //优化的冒泡排序 {int t,flag;for(int i=0;i<n-1;i++){flag=0;原创 2016-10-02 13:54:17 · 304 阅读 · 0 评论