自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 问答 (2)
  • 收藏
  • 关注

原创 线程相关知识总结

一个进程可以包含多个线程,线程共享进程的资源,包括储存地址空间和文件描述符。进程的所有信息对该进程的线程是共享的,包括可执行程序的代码,程序的全局变量和堆内存,栈以及文件描述符。 线程包含:线程ID(只在进程上下文有效,pthread_t类型),一组寄存器值,栈,调度优先级和策略信号屏蔽字,errno变量,线程私有数据。 POSIX线程函数:pthreadint pthread_create(p

2017-07-31 11:12:45 340

原创 堆排序问题

堆,本质上是一个完全二叉树,可以用数组来表示,这样非常的方便。最大堆:从数组的第一号开始排,a[0]为空,方便计算。那么ai>=a2i &&ai>=a(2i+1),那么就是最大堆; 最小堆:从数组的第一号开始排,a[0]为空,方便计算。那么ai<=a2i &&ai<=a(2i+1),那么就是最小堆。我写了一个堆排序的代码。现在贴出来供大家参考,有错误的地方请大家告诉我,我马上修改: 头文件:``

2017-03-28 10:36:50 396

原创 使用插入算法排序链表,leetcode

这是我最开始的想法,我大概花了一个小时才做出来,太慢了,我的思路是使用递归的方法,从后面往前面排序,比如:2,3,1 第一次递归变为 : 2,1,3 ,第二次递归变为:1,2,3 。但是时间花得太久了,80ms左右;class Solution {public: ListNode* insertionSortList(ListNode* head) { if(head ==

2016-12-13 16:50:16 364

原创 leetcode 判断链表是否有环,且得到环的位子

自己想不出来,去看别人的答案,发现是个数学问题,(数学太差了!)**my solution is like this: using two pointers, one of them one step at a time. another pointer each take two steps. Suppose the first meet at step k,the length of the C

2016-12-13 16:46:04 337

原创 LeetCode中将升序链表转换成平衡二叉树

节点和树的结构: Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */ /** * Definition for a binary

2016-12-08 16:29:00 618

原创 LeetCode中 翻转链表II

Reverse a linked list from position m to n. Do it in-place and in one-pass. For example: Given 1->2->3->4->5->NULL, m = 2 and n = 4, return 1->4->3->2->5->NULL. Note: Given m, n satisfy the follow

2016-12-08 16:26:59 561

原创 LeetCode中 将升序链表转换成平衡二叉树

节点和树的结构:Definition for singly-linked list. * struct ListNode { *     int val; *     ListNode *next; *     ListNode(int x) : val(x), next(NULL) {} * }; *//** * Definition for a bina

2016-12-08 16:23:45 449

原创 quick sort 的c++实现

我直接把代码贴出来了,晕,我发了一遍怎么突然博客就没了,刚开始还不太熟悉 进入正题:我实现的是三向切分的快速排序,和采用随机切分点,这么做有几个好处,一个是对于重复元素很多的数组有很好的性质,可以从代码中看到重复的元素并不执行交换操作,考虑一个极端条件,数组全是{1,1,1,1…1},可以看到只用遍历一次数组就可以了,是O(N)时间复杂度。使用随机切分点的好处是使得最坏条件出现的几率大大大幅度下降

2016-12-03 15:49:59 650

原创 quick sort 的c++实现

先把代码搬出来,我参照的教科书式算法第四版,在我自己看完后,有点晕,然后我就试试自己写一遍。我将所有功能集合到一个类中,我实现的是3分的快速排序,使用了随机获取切分点。这样做有几个有点,首先是对于数组中有大量重复元素情况下,3分法表现更好,因为当出现重复元素时,并未交换元素。随机获取切分点可以使得最坏情况的出现几率大幅下降,比如每次切分点都是最大或者最小值。 .h/*author : ybti

2016-12-03 15:35:38 694

原创 队列的链表实现

今天自己动手实现了队列的链表实现,发现写的头晕眼花,还出了一些错误,看来还是不太熟啊

2016-11-29 14:49:40 286

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除