数据结构
pengshengli
横看成峰侧成岭,远近高低各不同。
不识庐山真面目,只缘身在此山中。
展开
-
链表的基本操作(C++)
#include "stdafx.h"#include<iostream>#include<vector>using namespace std;template <typename T>struct Node { T data; Node<T> *next;};template <typename T>Node&l..原创 2018-12-20 17:02:58 · 394 阅读 · 0 评论 -
剑指2题目汇总(三)
39.数组中出现次数超过一半的数字题目:数组中有一个数字出现的次数超过数组长度的一半,找出这个数字思路一:排序数组,位于中位数的就是要找的数字,时间复杂度为O(nlogn)思路二:快排思想,当下标为n/2时则找到该数字,时间复杂度为O(n)思路三:遍历数组,和上次数字相同的加1,不同减1,如果为0,时间复杂度为O(n)// 039_MoreThanHalfNum.cpp : ...原创 2019-06-03 22:55:39 · 209 阅读 · 0 评论 -
剑指2题目汇总(二)
16.数值的整数次方题目:实现double pow(double n, int e)函数思路一:循环乘,但注意指数小于1的情况(e为0或负数)思路二:// 016_Pow.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。//=============================================================...原创 2019-06-03 20:29:53 · 163 阅读 · 0 评论 -
剑指2题目汇总(一)
1.赋值运算符重载赋值运算符函数的参数为const引用类型;----->若类型为类,会产生临时对象,调用复制构造函数。 赋值运算符函数的返回值为引用类型;----->若类型为类,则连续赋值语句编译不通过(类型不匹配)、会产生临时对象,调用复制构造函数。 检查赋值的对象是否和this是同一个;-----> 赋值的对象和this不是同以对象,则需要先释放原有对象;-----...原创 2019-06-03 20:19:36 · 208 阅读 · 0 评论 -
数据结构与算法知识点
一、数据结构数组一种线性表结构,连续的内存空间存储相同数据类型的数据。说到线性表,有必要列出一下:名称 种类 线性表 数组、链表、队列、栈 非线性表 二叉树、堆、图 数组最大的优势是:可以通过下标随机访问,时间复杂度为O(1)(由于线性的,且内存空间连续)。 数组劣势是:删除和插入比较费劲,时间复杂度为O(n)(需要移动删除和插...原创 2019-05-25 15:32:40 · 779 阅读 · 0 评论 -
链表
1.LeetCode 206. 反转链表反转一个单链表。示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL步骤:0.初始时,pre = NULL,cur = head,pre来保存已经反转好的头节点,cur来保存正要反转的节点(即pre后面的节点);nxt来保存...原创 2019-04-30 16:25:13 · 204 阅读 · 0 评论 -
二叉树
1.LeetCode 94. 二叉树的中序遍历/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), rig...原创 2019-05-06 09:38:12 · 155 阅读 · 0 评论 -
对递归的理解【笔录】
数据结构和算法的学习,最难掌握的有两个,一个是动态规划,另一个则是递归。 实际工程中递归的应用非常广泛,也是开发者经常被考察的重点。1.理解“递归” 有这样一个场景,假设你在排队,前面排了很多人,但不知道自己排的是第几(每个人都不知道自己是第几名,除了第一个知道自己是第一名)。当你想知道你排第几的时候怎么做?当然你可以从第一个开始数(遍历一遍),还有一种方案就是偷懒的...原创 2019-03-15 09:06:11 · 220 阅读 · 0 评论 -
71. 简化路径(C++)
给定一个文档 (Unix-style) 的完全路径,请进行路径简化。例如,path = "/home/", => "/home"path = "/a/./b/../../c/", => "/c"边界情况:你是否考虑了 路径 = "/../" 的情况? 在这种情况下,你需返回 "/" 。 此外,路径中也可能包含多个斜杠 '/' ,如 "/原创 2018-12-20 17:08:48 · 511 阅读 · 0 评论 -
结构体(类)类型排序
struct heat { heat(double a, double b, double c) :h1(a), h2(b), h3(c) {} double h1; double h2; double h3;};bool comp(heat a, heat b){ if (fabsf(a.h1 - b.h1) > 0.000001) { if (a.h1 - b.h...原创 2019-09-22 23:54:18 · 266 阅读 · 0 评论