
算法(c/c++)
castle_kao
这个作者很懒,什么都没留下…
展开
-
一些关于二进制数的问题
微信上关注了算法爱好者这个公众号,今天看到一篇推送中发了一个关于求解二进制数的问题,下面我来引述一下。题目1:实现一个方法,判断一个正整数是否是2的乘方(比如16是2的4次方,返回True;18不是2的乘方,返回False)。要求性能尽可能高。其实当我们刚刚开始思考这个问题时,不可避免的会用过去数学上求解的思维来解决这个问题,作为程序员,这种思考方式带来的结果往往并不尽如人意。我这么说不是原创 2016-12-01 22:49:08 · 2798 阅读 · 0 评论 -
如何找到一个栈中的最小值
题目:实现一个栈,带有出栈(pop),入栈(push),取最小元素(getMin)三个方法。要保证这三个方法的时间复杂度都是O(1)。原创 2016-12-03 17:39:24 · 3380 阅读 · 1 评论 -
顺序表中的删除和插入
顺序表中的运算无非四种,增删改查:增:即向顺序表中插入数据,大部分情况下都是向一个有序表中插入,要是无序的话就先排序。删:删除顺序表中的一个或多个元素,通过数据覆盖来消除原来数据。改:找到数据,修改数据。本质上还是查找。查:用查找算法查找数据。原创 2016-12-06 15:34:38 · 8755 阅读 · 0 评论 -
所有类型的链表问题
创建链表的四种方法:普通尾插法:STNode* CreateLink(int a[],int n){ int i; STNode* h,*t,*p; h=NULL; for(i=0;i<n;i++) { p=(STNode*)malloc(sizeof(STNode)); p->data=a[i];原创 2017-02-16 14:06:26 · 550 阅读 · 0 评论