提高效率与锻炼思维
最近拜读了一位大神的文章:[杂谈] 编程为什么要学算法 - 某程序媛计划有感,被其中开平方也有这么多操作所震撼。想起自己排序都只想着调用sort(),qsort(),而懒得去再熟悉一下快排的算法,实在是羞愧不已。先贴一段快排代码压压惊:
void qsort(int a
[], int l
, int r
){
if(l
<r
){
int i
=l
,j
=r
,x
=a
[l
];
while(i
<j
){
while(a
[j
]>=x
&& i
<j
) j
--;
a
[i
] = a
[j
];
while(a
[i
]<x
&& i
<j
) i
++;
a
[j
] = a
[i
];
}
a
[i
] = x
;
qsort(a
, l
, i
-1);
qsort(a
, i
+1, r
);
}
}
qsort(a
, 0, length
-1);
具体思想就不说了,各种大牛都说的很明白了。关键是培养一下我们用数学工具简化计算的思维,毕竟“懒”才是第一生产力嘛。
更好的成长路线
虽然我还是个萌新,不敢说什么职业规划(还没进入职业[笑哭]),但也算“春江水暖鸭先知”吧,毕竟也划了好几年水了。虽然有些统计显示安全行业起薪是最高的,但几年下来感觉这更像是一个“打猎”的方向,和开发这种“种地”的方向有些不同。学习的方向很杂而且不够深入,算法层面更是浅尝辄止。容易陷入无限个方向和杂事的泥潭中,本科多玩几个方向是不错的,但以后还这么搞恐怕会难以在时间中积累出自己的优势。 当然这只是萌新的一点碎碎念,还望各位大佬批评指正。