算法和数据结构学习
辉哥聊职场聊家庭
一名有温度的IT从业者。 曾就职于ATM等top互联网大厂,央企研究所。 不定期分享职场 | 婚姻 | 育儿 | 个人成长心得体会,关注我,和我一起成长。
展开
-
栈、堆栈、堆、队列,它们之间的关系
堆栈和栈就是一个概念!!!原创 2014-09-01 12:12:47 · 7051 阅读 · 2 评论 -
表达式"x=x&(x-1)" 的作用
x = x & (x - 1)含义:这条语句执行一次,就会把x用二进制格式表示时的最右边的一个二进制1变为二进制0,因为x-1会将该位(x用二进制表示时最右边的一个二进制1)变为0;应用1:把一个整数用二进制表示时,其中二进制1的个数;int Func(int x){ int count = 0; while(x) { x = x & (x - 1);转载 2014-09-01 11:31:50 · 2913 阅读 · 0 评论 -
求素数的算法
注意: 如果没有特殊说明, 以下讨论的都是针对n为素数时的时间复杂度1. 根据概念判断:如果一个正整数只有两个因子, 1和p,则称p为素数.代码:bool isPrime(int n){ if(n < 2) return false; for(int i = 2; i < n; ++i) if(n%i == 0) return转载 2014-08-18 12:37:11 · 800 阅读 · 0 评论 -
关于单链表C语言实现的一些疑惑
单链表的C语言实现如下:typedef struct node{ //结点类型定义 DataType data; //结点的数据域 struct node *next;//结点的指针域 }ListNode;即di原创 2014-08-18 10:49:57 · 727 阅读 · 0 评论 -
回文数的判断
回文数是类似于12344321、46764……原创 2014-08-18 10:27:46 · 864 阅读 · 0 评论 -
线性表知识总结
1.线性表(List):由零个或多个数据元素组成的有序序列,类似于排队~~在一个队伍中,只要每个人记住他前面队员就可以了,(线性表的顺序存储结构即是数组了,数组因为在内存中是连续的,所以每个元素之间也是有前后关系的)2对于线性表来说,n=0 时为空表,(空表也是有意义的,就像一个队伍解散了,但是队伍名还存在,下次还能把人集合起来)3.C语言有两大数据类型:(1)原创 2014-08-23 14:34:06 · 1907 阅读 · 0 评论 -
单链表操作的一些函数
①生成结点变量的标准函数p=( ListNode *)malloc(sizeof(ListNode));//函数malloc分配一个类型为ListNode的结点变量的空间,并将其首地址放入指针变量p中②释放结点变量空间的标准函数free(p);//释放p所指的结点变量空间③结点分量的访问利用结点变量的名字*p访问结点分量方法一:(*p).da转载 2014-08-23 21:47:32 · 889 阅读 · 0 评论 -
关于单链表函数操作中return head的意义
return head; /*返回创建链表的头指针 */ 头指针就是指向链表的首地址,返回首地址就可以对联表进行相关操作,至于头指针里面有没有值,看你自己放不放,无所谓的原创 2014-08-23 21:27:44 · 6340 阅读 · 3 评论 -
结构之美:单链表的头结点与头指针
当链表的每个结点只包含一个指针域时,我们称此链表为单链表。关于单链表的存取,有时候我们在单链表的第一个结点(有效元素)之前附设一个结点,称之为头结点;指向头结点的指针,称之为头指针;对单链表的存取必须从头指针开始进行,由于单链表的最后一个数据元素没有直接后继,则指针为NULL。对于头结点,数据域可以不存储任何信息,也可存储如链表长度等附加信息。下面是带头结点的单链表与空表的比较图。转载 2014-08-23 21:14:30 · 1200 阅读 · 0 评论 -
链表、头指针、头结点(经典)
图1为线性表(ZHAO, QIAN, SUN, LI, ZHOU, WU, ZHENG, WANG)的逻辑状态。头指针指示链表中第一个结点(即第一个数据元素的存储映像)的存储位置。同时,由于最后一个数据元素没有直接后继,则线性链表中最后一个结点的指针为“空”(NULL)。图1 线性链表的逻辑状态由上述描述可见,单链表可由头指针来唯一确定,在C语言中可用“结构指针”来描述转载 2014-08-23 17:51:30 · 9011 阅读 · 0 评论 -
结构之美(关于线性表所有的知识)
定义一个线性表 从最简单的线性表开始讲起在计算机中,数据并不是孤立的,而是具有一定内在联系的数据集合,这种联系就是数据结构,说明数据如何被组织在一起的。下面我们从最简单的线性表开始讲起。线性表是最基本、最简单、也是最常用的一种数据结构。线性表中数据元素之间的关系是一对一的关系,即除了第一个和最后一个数据元素之外,其它数据元素都是首尾相接的。线性表的逻转载 2014-08-23 21:32:58 · 866 阅读 · 0 评论 -
循环列表和双向链表
循环联表示链表形成一个环,即最后一个节点指向头结点,这样就形成一个环;分为单循环链表和双循环链表;双向链表就是每个节点有2个子节点,一个指向它的前驱,一个指向它的后继;一般都是双循环链表*******************************************************************************************************转载 2014-09-16 19:41:28 · 1727 阅读 · 0 评论