算法与数据结构c++
后打开撒打发了
有些人注定要生活在彼岸 可以亲近可以爱怜 甚至可以穷尽一生去思念 只是无法触及 有些距离 注定不能跨越 只能俩俩相望 就像有些爱只能养在心里 长在眼中 不要捧在手里 放在身边 注定只能邂逅 无法遭遇
展开
-
内存对齐#define _INTSIZEOF(n) ((sizeof(n)+sizeof(int)-1)&~(sizeof(int) - 1) )数学原理
参考博客中数学描述比较好,直接复制过来:https://blog.csdn.net/swell624/article/details/3210779对于两个正整数 x, n 总存在整数 q, r 使得x = nq + r, 其中 0<= r <n //最小非负剩余q, r 是唯一确定的。q = [x/n], r = x - n[x/n]....原创 2020-01-07 10:53:07 · 426 阅读 · 0 评论 -
hash算法原理详解
一.概念哈希表就是一种以 键-值(key-indexed) 存储数据的结构,我们只要输入待查找的值即key,即可查找到其对应的值。哈希的思路很简单,如果所有的键都是整数,那么就可以使用一个简单的无序数组来实现:将键作为索引,值即为其对应的值,这样就可以快速访问任意键的值。这是对于简单的键的情况,我们将其扩展到可以处理更加复杂的类型的键。使用哈希查找有两个步骤:转载 2017-06-05 10:42:39 · 760 阅读 · 0 评论 -
面试专题2-------------二叉树,轻松搞定面试中的二叉树问题
在面试中我们经常碰到二叉树的题目以及相关的题目,本文是本人对于面试中二叉树相关题目的一个总结。二叉树的数据结构:包含数据以及左右孩子节点.struct binary_tree_node{ int data; binary_tree_node* left_child; binary_tree_node* right_child;};关于二叉树的的创建请看我另外一篇博文:使用数组的原创 2015-01-03 19:03:53 · 1136 阅读 · 0 评论 -
使用数组的方法建立一颗二叉树
说明:使用数组的方法建立一颗二叉树例如有一个数组 int p[7] = { 0, 1, 2, 3, 4, 5, 6 };那么如何把这个数组建立成一颗二叉树呢?请看下面的代码。/**************************************************************************** @file: main.cpp* @author: ug原创 2015-01-03 18:48:01 · 17624 阅读 · 3 评论 -
求最大子数组的和,算法导论之分治递归求解,暴力求解,记忆扫描方法。
求最大子数组的和,算法导论只分治递归求解,暴力求解,记忆扫描方法。原创 2014-11-04 01:00:06 · 2123 阅读 · 0 评论 -
线性表
线性表ADT定义如下:ADT 线性表 (List) Data Operationvoid initList(L); //创建并初始化一个空线性表,如果成功返回true,修改表传指针bool listEmpty(L); //判断一个线性表是否为空,不修改表传值void clearList(L); //清空一个线性表,成功返回truebool getElem(L,i,e); /原创 2014-06-03 15:37:39 · 1755 阅读 · 0 评论 -
带头节点链表的操作(链表的创建、删除、查找、逆转、打印等等)
#include#includeusing namespace std;class Node{public: int data; Node* next;};typedef class Node List_Node;/*---------------------------------------------------------在链表的末端插入新的节点,创建链表:这里原创 2014-06-09 23:23:25 · 2213 阅读 · 0 评论 -
C++编程:用递归的方法输出vector对象的内容
#include #include using namespace std;void my_print(vector ivec);int main(){ vector ivec; for (decltype(ivec.size()) i = 0; i != 200; i++) { ivec.push_back(i); } my_print(ivec); retu原创 2014-05-25 16:49:34 · 5296 阅读 · 0 评论 -
使用递归算法重做:找出字符串中第一个只出现一次的字符
看到很多大型公司有这么一道笔试题:找出字符串中第一个只出现一次的字符原创 2014-05-23 16:47:09 · 1475 阅读 · 0 评论 -
数据结构与算法之表、队列、栈
一、在vector和list容器中使用迭代器来间隔的删除原创 2014-05-23 16:21:24 · 891 阅读 · 0 评论 -
链表
单链表反转/逆序 求单链表倒数第N个数 找到单链表的中间结点 如何判断链表是否有环的存在 单链表建环,无环链表变有环 如何知道环的长度? 如何找出环的连接点在哪里? 删除单链表中的重复元素 下面我先简单叙述一下每道题的思路,然后把实现的程序一起贴出来,不会讲得太细,我觉得只要有了思路之后,接下来的难点就是语言上的一些细节问题了,这个不自己去实现,听别人讲是体会不到的。要实现下面的代码你首先要会原创 2014-06-03 15:35:29 · 925 阅读 · 0 评论